在Ajax调用中调用Python文件

在Ajax调用中调用Python文件,python,angularjs,ajax,http,flask,Python,Angularjs,Ajax,Http,Flask,因此,我对angularjs应用程序的简单架构有了相当好的理解,调用$http并发布到php页面,然后接收数据 我想知道的是,如何用python实现相同类型的函数。有没有可能让python也这样做,使用自包含的脚本文件接受post数据并回显json $username = $_POST['username']; 在脚本开头键入变量赋值,然后: echo json_encode(response); 类型响应 我想在我公司的一些内部工具中使用Python,因为它为远程运行powershell脚

因此,我对angularjs应用程序的简单架构有了相当好的理解,调用$http并发布到php页面,然后接收数据

我想知道的是,如何用python实现相同类型的函数。有没有可能让python也这样做,使用自包含的脚本文件接受post数据并回显json

$username = $_POST['username'];
在脚本开头键入变量赋值,然后:

echo json_encode(response);
类型响应

我想在我公司的一些内部工具中使用Python,因为它为远程运行powershell脚本提供了更好的库(因为这些工具都是linux托管的),而且总体上只有适合我需要的库。我只是很难找到一个简洁的答案来解释如何建立这个系统

---编辑------

因此,我使用下面的信息建立了一个快速示例

角度: var app=角度模块(“api”)

烧瓶: 从烧瓶进口烧瓶,请求 导入json

app = Flask(__name__)


@app.route('/api', methods=['POST', 'GET'])
def api():
    if request.method == 'POST':
       request.data
    return 'You made it' # Just so I originally could see that the flask page                    

if __name__ == "__main__":
    app.run()
我得到一个404的网址。如果我更改角度以查看“localhost:5000/api”(我的flask应用程序正在运行的地方),它会给出“不支持的URL类型”错误

我看到当我做第一个案例时,它试图看,这是正确的!除了港口。这就是我试图指定端口的原因

对下一步有什么建议吗?

使用烧瓶

您可以在flask“服务器”上托管应用程序,并通过python处理返回您想要的内容

使用文档设置一个路由,在该路由中,您可以使用jquery或其他任何方式发布数据,然后在该路由上执行python操作,并在需要时将JSON返回给angular应用程序

 from flask import request   

 @app.route('/test', methods=['POST', 'GET'])
    def test():
        if request.method == 'POST':
            print request.data['your_field']

        return your_json_data
使用烧瓶

您可以在flask“服务器”上托管应用程序,并通过python处理返回您想要的内容

使用文档设置一个路由,在该路由中,您可以使用jquery或其他任何方式发布数据,然后在该路由上执行python操作,并在需要时将JSON返回给angular应用程序

 from flask import request   

 @app.route('/test', methods=['POST', 'GET'])
    def test():
        if request.method == 'POST':
            print request.data['your_field']

        return your_json_data

因此,对于路由,我可以指定类似('/test')的内容,然后让ajax调用将其用作url?如何通过flask route函数(在本例中为test())访问请求数据?在php中,我只想看看$u POST['',python中是否有一个等价物?这非常有用!在角度方面,我可以直接调用“/test”?或者我需要为那个页面调用一个完整的url吗?这取决于你是否在同一个域、IP和端口上,否则调用一个完整的url,但我想没什么大不了的。我第一次尝试就编辑了我的原始帖子,试图使用这些信息。我知道在php中,我只是回显我的响应,但在本例中,似乎是返回值。我理解对了吗?如果是这样的话,我会在返回值之前对其进行子编码吗?确切地说,你会将值返回到你的角度。要进行编码,可以使用json.dumps,但需要先导入json。因此,对于路由,我可以指定类似('/test')的内容,然后让我的ajax调用将其用作url?如何通过flask route函数(在本例中为test())访问请求数据?在php中,我只想看看$u POST['',python中是否有一个等价物?这非常有用!在角度方面,我可以直接调用“/test”?或者我需要为那个页面调用一个完整的url吗?这取决于你是否在同一个域、IP和端口上,否则调用一个完整的url,但我想没什么大不了的。我第一次尝试就编辑了我的原始帖子,试图使用这些信息。我知道在php中,我只是回显我的响应,但在本例中,似乎是返回值。我理解对了吗?如果是这样的话,我会在返回值之前对其进行子编码吗?确切地说,你会将值返回到你的角度。要进行编码,可以使用json.dumps,但需要先导入json。