通过Javascript Ajax从Python获取GET返回值

时间:2015-12-08 14:44:03

标签: javascript jquery python ajax

我正在尝试编写一个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

以下是网站上的运行结果: http://i.stack.imgur.com/HZr34.png

1 个答案:

答案 0 :(得分:0)

所以,看起来这里的问题是你实际上并不是提供 python代码,而是代码所在的文件。您的服务器需要位于代码和请求之间的另一层,以使其了解如何将请求转换为要运行的特定函数。

通常,python用户处理此问题的方法是将服务器代码集成到 Web框架中,如FlaskPyramid

如果您还使用网络服务器获取HTML内容(我假设您是这样,假设该文件完全可以访问),您可能还需要再使用一个层进行调查,该层告诉网络服务器何时发送内容到您的Web框架而不是尝试自己为它们服务。 This layer is called WSGI,大多数Web框架都会有特定的指南,其中包含有关如何为特定技术群体实施WSGI的说明。