我正在从Django(Python)向jQuery发送一个列表,但是在接收它时会抛出一些错误?
这是我用python发送的内容。
hubcode_list = ['a','b']
ctx = {'form':form, 'hubcode_list' : hubcode_list, 'admin_permission' : admin_permission}
return render(request, 'dummy/config.html', ctx)
的jQuery:-
var hubcode_list = {{ hubcode_list }}
它返回一条错误消息:
SyntaxError: syntax error
var hubcode_list = ['a', 'b']
当我使用
escapejs
作为var hubcode_list = {{ hubcode_list|escapejs }}
它抛出
SyntaxError: illegal character
var hubcode_list = [\u0027a\u0027, \u0027b\u0027]
如何从服务器(Python)接收列表?我需要在需要传递标签列表的情况下实现自动完成功能。
$( ".hubcode_list" ).autocomplete({
source: hubcode_list
});
最佳答案
hubcode_list = [str(i) for i in hubcode_list] #unicode string not understood by javascript
{{ hubcode_list|safe }}
好的方法是传递
json
。>>> import json
>>> hubcode_list = ['a','b']
>>> json.dumps(hubcode_list)
>>> '["a", "b"]'
jQuery的:
var hubcode_list = JSON.parse(hubcode_list)
如果要实施
jquery Autocomplete
,则应通过AJAX
实施。您不应该一次通过所有自动完成功能。如果有成千上万的数据怎么办?有关如何使用Django实现jquery自动完成的信息,请参见this tutorial。关于jquery - 如何从Django(Python)接收jQuery中的列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23805121/