2015-11-20 45 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