2015-11-20 33 views
1

因此,我已经建立了对angularjs应用程序的简单体系结构的非常好的理解,调用$ http并发布到php页面并接收数据。在Ajax调用中调用Python文件

我在想什么,是如何用python做同样类型的函数。是否有可能使Python执行相同的操作,使用自包含的脚本文件来接收发布数据和回显json?在脚本的开头

$username = $_POST['username']; 

类型变量赋值,并且:

echo json_encode(response); 

类型响应。

我想为我公司的某些内部工具使用Python,因为它提供了更好的远程运行PowerShell脚本库(因为这些工具都是Linux托管的),并且总体上只有符合我需求的库。我只是很难找到一个简明的答案,以便如何设置。

---编辑------

所以我成立了一个简单的例子使用下面的信息。

the angular: var app = angular.module(“api”);

app.controller("MainController", ["$scope","$http",MainController]); 

function MainController($scope,$http){ 

    $http.post('/api',{test: "hello"}) 
     .then(function(response){ 
      console.log(response.data); 
     }) 

} 

烧瓶:从瓶进口瓶 ,要求 进口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() 

我得到了那个URL 404。如果我更改角度来查看'localhost:5000/api'(我的烧瓶应用正在运行),它会给我“不支持的URL类型”的错误。

我看到,当我做第一个案件,它试图看http://localhost/api,这是正确的!港口除外。这就是为什么我试图指定端口。

下一步的任何建议?

+1

http://flask.pocoo.org/ – davidism

回答

3

使用烧瓶。

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

http://flask.pocoo.org/

使用文档设置的路线在那里你会使用jQuery或任何发表您的数据,然后沿途你可以做你的Python的东西,一个JSON返回到您的应用程序的角度,如果你需要。

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 
+1

所以路线我可以指定像(“/测试”),然后只是有我的Ajax调用使用它作为网址是什么?如何通过烧瓶路径功能(在这种情况下是test())访问请求数据?在PHP中,我只会看$ _POST [''],在python中是否有一个等价物? – Jacob

+0

查看我的编辑 – JonathanG

+1

这非常有帮助!而在角度上,我可以称之为'/ test'?或者我必须打电话给该网页的完整网址? – Jacob