我正在从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/

10-10 05:09
查看更多