2016-01-18 27 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