Tout le script python écrit dans response
Bonjour,
j'essaye de travailler avec AJAX, python et JQuery.
J'ai réussi à envoyer les donnés du JQUERY à python mais le problème, c'est que quand j'écris le résultat de "response" dans AJAX, j'ai tout le script python qui s'écrit et non le résultat.
C'est juste pour un test pour ensuite bosser sur quelques choses de plus sérieux. Donc voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| function ajax_test(){
$('#jQuery_send').text("jQuery sent: " + $('#test_text').val() );
$.ajax(
{
type: "POST",
url: "./cgi-bin/test.py",
datatype:"json",
data: {'key':'value', 'key2':'value2'},
success: function(response)
{
$('#python_response').html("Python returned: " + response);
}
});
}
window.onload = function(){
document.getElementById('test_button').onclick= function(){
ajax_test()}
} |
Code:
1 2 3 4 5 6 7 8 9
| <div class="main">
<center>
<form id="test_box"><input id="test_text" type="text"/>
<input id="test_button" type="button" value="submit"/></form>
<br/>
<div id="jQuery_send"></div>
<div id="python_response"></div>
</center>
</div> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #!/usr/bin/python
import cgitb
import json
import sys
cgitb.enable() # for troubleshooting
#the cgi library gets vars from html
form = cgi.FieldStorage()
#jquery_input = form.getvalue("stuff_for_python", "nothing sent")
print "Content-Type: application/json"
print "\n"
print "\n"
result = {}
result['success'] = True
result['message'] = "The command Completed Successfully"
result['keys'] = ",".join(fs.keys())
d = {}
for k in fs.keys():
d[k] = fs.getvalue(k)
result['data'] = d
print json.dumps(result,indent=1) |
J'aimerai afficher dans la div "python_response" la valeur d'une clé par exemple.
J'espère avoir de l'aide
Merci
Alaninho