2016-01-18 25 views
0

我正在嘗試向燒瓶功能發出請求,並使用javascript獲得正確的響應。用戶在搜索字段中輸入內容,腳本應該用輸入值發出請求並加載響應數據。但添加此代碼後,自動完成功能停止工作。我在JS/HTML得到了什麼:使用javascript從燒瓶功能中的字典中獲取值

select: function(event, ui) { 
    console.log(ui.item.value); 
    $.getJSON("{{url_for('test')}}", val: ui.item.value, function(data) { 
     $('#test').text(data); 
    }); 
} 
<div id="test"></div> 

的Python:

@app.route('/test', methods=['GET', 'POST']) 
def test(): 
    word = request.args.get('val') 
    d = {"John": "a", "Bill": "b"} 
    output = d[word] 
    return jsonify(data=output) 

例如,如果用戶輸入約翰,腳本應該載入 「一」。任何人都可以幫忙嗎?

回答

0
$.getJSON("{{url_for('test')}}", val: ui.item.value, function(data) { 
    $('#test').text(data); 
}); 

兩個附註:

  1. 數據參數$.getJSON應的對象:{val: ui.item.value}。裸露的冒號:無效。

  2. 成功回調接收到一個JSON解碼的對象,您打電話給data。但這只是一個對象;您想要的字段位於對象內部,也稱爲data

這應該工作:

$.getJSON("{{url_for('test')}}", {val: ui.item.value}, function(data) { 
    $('#test').text(data.data); 
}); 
+0

這工作!謝謝 – prisoner