2012-10-08 40 views
2

我正在對python函數進行AJAX調用。該函數根據發送給函數的信息進行數據庫查詢。使用web2py從POST ajax調用中獲取數據

我無法弄清楚如何獲取發送給函數的變量。

我正在使用request.vars.variableName,我知道該函數是有效的,它只是沒有收到變量才能正確使用。如何使用web2py從python函數獲取POST發送的變量?

ETA:這是我所用的代碼

jQuery.ajax(
     {type: "POST", 
     url: '../../Printed/printedballoons/cost.json', //python function 
     data: typeSelected,//data sent to server 
     dataType: 'json', 
     error: function(msg){$("#ajaxerror").html(msg);}, 
     success: function(data){ 
      balloonPrice = data.cost; 
     }, 
     timeout: 2000} 
    ); 

錯誤是在「數據:typeSelected」行,與任何數據相關聯的變量名wasnt,所以python的查詢:

cost=db(db.balloonprices.type==request.vars.typeSelected).select(db.balloonprices.cost) 

正在尋找「」,而不是實際存在於數據庫中的任何東西。

+0

顯示一些代碼。 –

+0

解決方案是讓「數據:{dataSelected:value},」 – shadowmaster13

回答

2
request.post_vars 

它們複製到request.vars也如果沒有request.get_vars

5

這個工作對我來說:

AJAX調用:

 $.ajax({ 
      type: "POST", 
      url: "/app/func", 
      data: "array="+JSON.stringify(tempArray) 
     }).done(function(msg) { }); 

控制器:

def func():  
    temparray = json.loads(request.post_vars.array) 

希望它能幫到你