我已经安装了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);I have got Apache2 Installed and Python working.
I am having a problem though. I have two pages.
One a Python Page and the other an Html Page with JQuery
Can someone please tell me how I can get my ajax post to work correctly.
<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>And the Python Code
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" :
$.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)"因此,在Ajax请求的success处理程序中,您将收到具有success和message属性的对象。
OK, let's move to your updated question.
First, you should pass Ajax data property in string representation. Then, since you mix dataType and contentType properties, change dataType value to "json":
$.ajax({ url: "saveList.py", type: "post", data: JSON.stringify({'param':{"hello":"world"}}), dataType: "json", success: function(response) { alert(response); } });Finally, modify your code a bit to work with JSON request as follows:
#!/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)"As a result, in the success handler of Ajax request you will receive object with success and message properties.
更多推荐
发布评论