2013-07-18 46 views
1

jQuery的AJAX調用讓蟒蛇燒瓶內的jQuery後的數據爲空

api_key=$('#acesskey').val(); 
    secret_key=$('#sacesskey').val(); 
    provider_name = $('#cname').val(); 
    $.ajax({ 
     type: "POST", 
     data: {api_key:api_key,secret_key:secret_key,provider_name:provider_name}, 
     url: $SCRIPT_ROOT + "/login", 
      contentType: "application/json; charset=utf-8", 
      success: function(data) { 
      alert(data.status); 
      if(data.status == "True") 
      { 
       custom_ready();   
      } 
     } 
    }); 

蟒蛇燒瓶代碼

provider_name=request.args.get('provider_name') 
api_key=request.args.get('api_key') 
secret_key=request.args.get('secret_key') 
print provider_name 
print api_key 
print secret_key 

輸出



回答

1

Ajax調用代碼

$.ajax({ 
    url: '/login', 
    type: 'POST', 
    data: {akey:akey,sakey:sakey,pname:pname}, 
    success: function(response){ 
     alert(response.status); 
    } 
}); 

HTML表單

<form action="" method="POST"> 
</form> 

Python代碼

akey = request.form['akey'] 
sakey = request.form['sakey'] 
pname = request.form['pname'] 
4

request.args包含查詢串參數(如bar,/foo?bar=42)。您正在執行POST請求,並希望查看request.form

在這裏看到:http://flask.pocoo.org/docs/quickstart/#the-request-object

+0

OKY,所以我需要在Ajax調用改變?我改變了python文件根據指令,但仍然不工作..狀態代碼400,所以我認爲我需要改變阿賈克斯調用也..你能給我簡單的例子嗎? – Jaydipsinh

+0

發佈你應該處理這個請求的整個視圖函數。用'debug = True'運行dev服務器。如果有的話,發佈完整的追溯。 – dAnjou