我已经安装了Apache2并且Python运行正常。
我有一个问题。我有两页。
一个是Python页面,另一个是带有JQuery的HTML页面
有人可以告诉我如何使我的ajax帖子正常工作。
<html> <head> </head> <body> <script> $(function() { alert('Im going to start processing'); $.ajax({ url: "saveList.py", type: "post", data: {'param':{"hello":"world"}}, dataType: "application/json", success : function(response) { alert(response); } }); }); </script> </body> </html>
和Python代码
import sys import json def index(req): result = {'success':'true','message':'The Command Completed Successfully'}; data = sys.stdin.read(); myjson = json.loads(data); return str(myjson);
好的,让我们转到您的更新问题。
首先,您应该以字符串表示形式传递Ajax数据属性。然后,因为你混合dataType和contentType性质,变化dataType值"json":
dataType
contentType
"json"
$.ajax({ url: "saveList.py", type: "post", data: JSON.stringify({'param':{"hello":"world"}}), dataType: "json", success: function(response) { alert(response); } });
最后,如下修改您的代码以使用JSON请求:
#!/usr/bin/python import sys, json result = {'success':'true','message':'The Command Completed Successfully'}; myjson = json.load(sys.stdin) # Do something with 'myjson' object print 'Content-Type: application/json\n\n' print json.dumps(result) # or "json.dump(result, sys.stdout)"
结果,在successAjax请求的处理程序中,您将收到带有success和message属性的对象。
success
message