Nem lehet elemezni az adatokat Python CGI script PHP

szavazat
-1

Van egy PHP script, amely egy egyszerű űrlap két bemenettel. Azt akarom, hogy adja át a két bemenet vissza egy Python CGI script, letölteni az eredményt, és nyomtassa ki újra rá az azonos PHP oldal (anélkül, hogy az oldalt frissítő). Olvastam egy csomó választ az emberek AJAX és próbáltam, de nem úgy tűnik, hogy a további fejlődéshez. Összesen kezdő AJAX és CGI script. Szeretnénk, ha valaki tudna segíteni!

Ideális kimenet - visszatér az „eredmény” értéket a Python script jelenik helyett az „eredmény” div tag.

Itt van a PHP kód:

„””

<?php

print <html>;
print <script type=\text/javascript\ src=\http://code.jquery.com/jquery-1.4.4.min.js\></script>;

print <script>
function python_process() {
    var cancellationrate = $('input[name=cancellationrate]');
    var waitingtime = $('input[name=waitingtime]');
    $.ajax({
        url: \/cgi-bin/calculate.py\,
        type: \POST\,
        data: {\cancellationrate\ : cancellationrate, \waitingtime\: waitingtime },
        success: function(response){
                    $(\#result\).html(response);
                }
        });
};
</script>;
print <link rel=\stylesheet\ href=\https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css\ integrity=\sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T\ crossorigin=\anonymous\>
;
print <br/>;
print <div class=\container\>;
            print <form name=\calculate\ id=\calculate\ action=\\ method=\post\>;
                print <div class=\form-group row\>;
                    print <label for=\cancellationrate\ class=\col-sm-2 col-form-label\>Cancellation Rate</label>;
                    print <div class=\col-lg-10\>;
                        print <input type=\text\ style=\width: 400px\ class=\form-control\ name=\cancellationrate\ id=\cancellationrate\ placeholder=\Expected % Change in Cancellation Rate\>;
                    print </div>;
                print </div>;
                print <div class=\form-group row\>;
                    print <label for=\waitingtime\ class=\col-sm-2 col-form-label\>Waiting Time</label>;
                    print <div class=\col-lg-10\>;
                        print <input type=\text\ style=\width: 400px\ class=\form-control\ name=\waitingtime\ id=\waitingtime\ placeholder=\Expected % Change in Waiting Time\>;
                    print </div>;
                print </div>;
                print <center><button type=\submit\ onclick=\python_process()\ class=\btn btn-primary\>Submit</button></center>;
            print </form>;
print </div>;

print <div id=\result\></div>;


?>

„””

És itt van a calculate.py CGI script:

„””

#!/anaconda3/bin/python3

import cgi
print (Content-type: text/html\n\n)

data = cgi.FieldStorage()

cancellation_rate =  int(form.getvalue('cancellationrate'))
waitingtime = int(form.getvalue('waitingtime'))

result = cancellation_rate * waitingtime

print(result)

„””

A kérdést 24/10/2019 12:59
a forrás felhasználó
Más nyelveken...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more