Kan geen gegevens ontleden van Python CGI script in PHP

stemmen
-1

Ik heb een PHP script dat een eenvoudige vorm met twee ingangen. Ik wil deze twee ingangen terug te gaan in een Python CGI script, halen het resultaat en print het terug op dezelfde PHP-pagina (zonder de pagina verfrissend). Ik heb heel wat antwoorden te lezen van mensen met behulp van AJAX en probeerde het, maar kan niet schijnen om verdere vooruitgang. Total beginner met AJAX en CGI-scripts. Zou het leuk vinden als iemand kon helpen!

Ideaal uitgang - de terugkeer van de resultaat waarde van de Python-script te verschijnen in plaats van het resultaat div tag.

Hier is mijn PHP-code:

'''

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


?>

'''

En hier is mijn 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)

'''

De vraag is gesteld op 24/10/2019 om 12:59
bron van user
In andere talen...                            

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