Nu se poate analiza datele din script Python CGI în PHP

voturi
-1

Am un script PHP, care are o formă simplă, cu două intrări. Vreau să treacă aceste două intrări înapoi într-un script CGI Python, pentru a prelua rezultatul și imprimați-l înapoi pe aceeași pagină PHP (fără pagina de răcoritoare). Am citit o mulțime de răspunsuri de la oameni care folosesc AJAX și a încercat, dar nu pot par să progreseze în continuare. începător total cu Ajax și scripting CGI. Ar plăcea dacă cineva ar putea ajuta!

Ideal ieșire - returnează valoarea „rezultatul“ de script Python să apară în loc de „rezultat“ tag-ul div.

Aici este codul meu PHP:

„““

<?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>;


?>

„““

Și aici este scenariul meu CGI calculate.py:

„““

#!/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)

„““

Întrebat 24/10/2019 la 12:59
sursa de către utilizator
În alte limbi...                            

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