【问题标题】:GET return value from Python via Javascript Ajax通过 Javascript Ajax 从 Python 获取返回值
【发布时间】:2016-03-13 12:59:27
【问题描述】:

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

这是网站上的运行结果:

【问题讨论】:

  • 您显然需要告诉您的网络服务器执行 Python 而不是返回 Python 脚本内容。虽然您发布了所有 Python 资料,但目前对您的 Web 服务器一无所知。因此,无法给出答案。
  • @ClassStacker 我明白了,但是如何告诉我的网络服务器执行 Python?也许这个问题太“基本”了。 :)
  • 正如我所写,您的问题无法回答,因为您只提供了所有不相关的信息。要求一个具有正确标题、标签和内容的新的,或者完全重做这个。

标签: javascript jquery python ajax


【解决方案1】:

因此,这里的问题似乎是您实际上不是在服务 python 代码,而是该代码所在的文件。您的服务器需要位于代码和请求之间的另一层,以便它了解如何将请求转换为要运行的特定函数。

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

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

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2013-12-02
    • 2014-07-04
    • 2013-02-14
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    相关资源
    最近更新 更多