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 11:59
bron van user
In andere talen...                            


1 antwoorden

stemmen
0

Blijkt dat het was een zeer kleine fout in mijn Python-script waar ik als een variabele genaamd gegevens te definiëren mijn CGI veld opslag en proberen om toegang te krijgen tot de waarde via het formulier.

Ook deze vraag hielp antwoord op mijn div waarde niet updaten!

div bijwerken met jQuery ajax reactie html

antwoordde op 24/10/2019 om 16:37
bron van user

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