如何发送JSON到我的python脚本
How to send JSON to my python script?
目前我正在使用这个函数从chrome扩展发送我的JSON。这是javascript发送数据的客户端代码。
function callPython(){
var url = 'http://AWS_IPNUMBER/';
var data = {'bob':'foo','paul':'dog'};
$.ajax({
url: url,
type: 'POST',
contentType:'application/json',
data: JSON.stringify(data),
dataType:'json',
success: function(data){
var jsonObj = $.parseJSON(data);
alert(jsonObj.encPassword);
},
failure: function(errorMsg) {
alert(errorMsg);
}
});
}
这是Python的服务器代码:
s = socket()
s.bind(('', 80))
s.listen(4)
ns, na = s.accept()
while True:
try:
data = ns.recv(8192)
except:
ns.close()
s.close()
break
data = json.loads(data)
print data
问题是,虽然它在监听,data
在data = ns.recv(8192)
是空的。data = json.loads(data)
不工作,因为data
是空的。为什么会这样?我认为这可能是我在AWS上的安全组的问题,但如果我去http://AWS_IPNUMBER/
,我在运行python脚本时从浏览器获得标题。
你可能会有更好的运气,像龙卷风或django这样的好框架。
我这么说是因为在你的代码中,你试图用json.loads解析http POST。HTTP并没有那么简单。在到达正文之前,您需要处理请求和头,这可以分散到多个数据包中。当您可以从已建立的项目中设置符合标准的服务器时,为什么要重新发明轮子呢?
$。ajax函数将放置的是一个完整的HTTP请求,json.loads()
无法理解。在这种情况下,您需要实例化一个HTTP服务器,它将处理HTTP请求,然后使用json.loads()
处理HTTP有效负载。
相关文章:
- Meteor如何运行服务器端python脚本
- 如何让Meteor应用程序使用python脚本写入数据库
- 创建一个html表单并使用javascript访问中的python脚本
- 运行 python 脚本并在网站上显示打印值
- 将标志从Node/Express应用程序Python shell传递到Python脚本
- 从PHP调用Python脚本
- 在nodejs中运行Python脚本
- 使用html表单作为python脚本输入的简单解决方案
- 采用HTML表单,将信息传递给Python脚本
- 如何将参数从python脚本传递到html文件并获得输出
- 只使用javascript或django调用python脚本
- 单击javascript中的按钮运行python脚本
- 使用没有URL的python脚本从网页下载文件,调用onClick函数
- 将参数从 Javascript 传递到 flask python 脚本
- 在节点中运行 python 脚本.js语法错误
- 创建一个超链接(或按钮),用于执行 python 脚本,然后在脚本完成时重定向
- 如何获取选择框以在从python脚本检查时显示其所有内容
- 如何从 Atom 电子应用程序调用 Shell 脚本或 python 脚本
- 使用html按钮运行python脚本
- 使用While True时,使用node js运行python脚本不起作用.keep-listen