2016-11-01 52 views
0

我想從我的JQuery $ .getJSON傳遞一個字符串給python回調函數。但是,價值永遠不會達到回調。文檔在這個問題上我不清楚..所以我已經閃閃發光,認爲是來自其他StackOverflow問題的解決方案。

未傳回的變量是que_token(請參閱下面的代碼)。這個過程在其他成功通過其間隔循環與蟒蛇方法使其jQuery的方式運行變量..

<script type=text/javascript> 
var interval = setInterval(
    function() 
    { 
    $.getJSON('/_update_alert', { que_token: "Passing as None" }, function(data) { 
     $("#alert-msg").text(data.result.alert_msg); 
     $("#alert-type").attr("class", data.result.alert_type) 
     var stopSession = data.result.End 
     document.getElementById("log").innerHTML = document.getElementById("log").innerHTML + 
      data.result.message_log + "\n" 
     if (data.result.End == "True") { 
      clearInterval(interval); 
    } 

    }); 
    return false; 
    }, 
    2000); 
</script> 

@app.route('/_update_alert/<que_token>') 
@login_required 
def update_alert(que_token=None): 
    if que_token is None: 
     # que_token should not be None - ERROR 
     que_token = session['que_token'] 
    alert_data = {} 
    ..... 
    return jsonify(result=alert_data) 

蟒蛇跟蹤顯示值que_token正在做它的方式回來..但我的Python函數「 update_alert'沒有選擇它。

127.0.0.1 -[01/Nov/2016 14:58:02] "GET /_update_alert?que_token=Passing+as+None HTTP/1.1" 200 - 

任何想法?

回答

0

在我的python函數update_alert()中使用flask request.args.get('que_token', '')解決了這個問題。但是這不像從函數update_alert傳遞的參數中取出que_token那樣直接。

所以一個解決我的問題是:

@app.route('/_update_alert') 
@login_required 
def update_alert(): 
    que_token = request.args.get('que_token', '') 
    ..... 
    alert_data = {} 
    ..... 
    return jsonify(result=alert_data) 

,除非有人挺身而出,並解釋了爲什麼我不能(通過Get請求燒瓶參數)用原來的方法我將以此作爲我的答案。

相關問題