运行 CGI Python Javascript 以检索 JSON 对象
Posted
技术标签:
【中文标题】运行 CGI Python Javascript 以检索 JSON 对象【英文标题】:Running CGI Python Javascript to retrieve JSON object 【发布时间】:2015-01-17 03:09:14 【问题描述】:我想使用 javascript 从 python 脚本中检索 json 对象 我尝试使用各种 ajax 和 post 方法,但无法正常工作。
现在我尝试这样设置
我的 Javascript 部分: 我试过了
$.post('./cgi-bin/serverscript.py', type: 'add', function(data) console.log('已发布:' + 数据); );
和
$.ajax( 类型:“帖子”, url:"./cgi-bin/serverscript.py", 数据:类型:“添加”, 成功:function(o) console.log(o);警报(o); );
我的 Python
import json import cgi import cgitb cgitb.enable() data = cgi.FieldStorage()
req = data.getfirst("type") print "Content-type: application/json" 打印 打印 (json.JSONEncoder().encode("status":"ok"))
我收到 500(内部服务器错误)
【问题讨论】:
【参考方案1】:你有没有试过这样做
print (json.JSONEncoder().encode("status":"ok"))
而不是打印内容类型和空行?
【讨论】:
【参考方案2】:您是否检查过主机的服务器日志以查看它是否为您提供任何输出? 在这里询问之前,如果可以的话,一个好主意是通过 ssh 连接到您的主机,然后直接运行程序,这很可能会在终端中打印错误。 目前这太笼统了,CGI 请求失败的原因有很多(错误配置的环境、未安装的库、权限错误) 返回并阅读您的服务器日志,看看是否更能说明问题。
【讨论】:
另外,对于上面的海报,因为我还不能评论:如果没有正确的响应标头,请求将彻底失败。以上是关于运行 CGI Python Javascript 以检索 JSON 对象的主要内容,如果未能解决你的问题,请参考以下文章
将 Android 手机作为稳定的网络服务器运行(用于 Python CGI 脚本)