我正在尝试编写一个Javascript程序,它可以获取我的Python程序的返回值,我正在使用Ajax。 Js和Python之间的连接成功,但是当我在Javascript中使用alert()函数来显示我得到的内容时,它表明它始终是整个Python代码,而不是我想要的返回值。我尝试了几种不同的Python程序,返回总是Python程序本身。我需要获得返回值,在此示例中为{{a“:”15“,”b“:”17“}。
以下是Javascript中的Ajax部分:
$.ajax({
type: "get",
url: "http://localhost:8000/test.py",
data: {a:"15",b:"20"},
datatype: "json",
success: function(response){
var output = response;
alert(output);
//var getvalue = output.startdate;
//var xxx = parseInt(getvalue);
}
})
这是Python程序:
import cgi, cgitb
import json
import sys
def TryAgain():
data = cgi.FieldStorage()
output = {"a":"15","b":"17"}
return output
以下是网站上的运行结果:
答案 0 :(得分:0)
所以,看起来这里的问题是你实际上并不是提供 python代码,而是代码所在的文件。您的服务器需要位于代码和请求之间的另一层,以使其了解如何将请求转换为要运行的特定函数。
通常,python用户处理此问题的方法是将服务器代码集成到 Web框架中,如Flask或Pyramid。
如果您还使用网络服务器获取HTML内容(我假设您是这样,假设该文件完全可以访问),您可能还需要再使用一个层进行调查,该层告诉网络服务器何时发送内容到您的Web框架而不是尝试自己为它们服务。 This layer is called WSGI,大多数Web框架都会有特定的指南,其中包含有关如何为特定技术群体实施WSGI的说明。