运行 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 对象的主要内容,如果未能解决你的问题,请参考以下文章

在其他位置从 cgi-bin 运行 python 脚本

Lighttpd cgi python无法运行系统进程

Python3 CGI编程实现教程

将 Android 手机作为稳定的网络服务器运行(用于 Python CGI 脚本)

如何使用 xampp 在 ubuntu 中运行 python cgi 脚本

Python Web 框架、WSGI 和 CGI​​ 如何组合在一起