将JSON对象传递给Python脚本
我想把一个形如 {key : value} 的 JSON 对象传递给 Python 脚本,这个对象里有很多元素。通过 Ajax 发送这个 JSON 对象是没问题的,我在 Ajax 函数的成功回调中能看到响应变量里有这个对象。
我使用 cgi.FieldStorage() 来获取 POST 数据。我想遍历接收到的 JSON 对象的元素,把键和值存储到变量中。之后,我想在那个 Python 脚本中用这些变量来打印 HTML。不过,我不知道该怎么进行下去,也不知道怎么循环遍历这些元素。
1 个回答
1
你不需要使用 cgi.FieldStorage
,只需简单地读取标准输入(stdin):
import sys
import json
data = json.load(sys.stdin)
在客户端,你还需要手动将你的数据转换成一个json字符串:
$.ajax({
url: "/city/cgi-bin/test1.py",
type: "post",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify({'lat':30.5 , 'lon' : 4.5}),
success: function(response){
//window.location="http://mycity.parseapp.com/city/cgi-bin/test1.py"
console.log(response.message);
console.log(response.keys);
console.log(response.data);
}
});