到目前为止,我一直使用 django 模板系统来执行这种操作。只需使用 html 模板响应 ajax 请求。
现在我正在尝试实现自动完成搜索功能,我想以 json 格式将响应发送回客户端。
一切都很好,并设置到这一点。这是我的 jQuery 部分:
$(document).ready(function(){
$("#id_q").keyup(function(){ //the form text input
autocomplete(this.value);
});
function autocomplete(inputString) {
if(inputString.length == 0) {
$('#autocomplete').fadeOut();
}
else {
$.get("/autocomplete/", {q: ""+inputString+""}, function(data) {
$('#autocomplete').fadeIn();
$('#autocomplete').html(data);
});
}
}
});
当使用 django 模板作为响应时,#autocomplete div 显示得很好,并且与 .html(data) 一样,这是因为我事先在模板中设置了 html,因为我希望它显示出来。
如何处理从服务器发送的数据(json格式)?数据看起来像这样:
[{'title':'titleString', 'descr':'desriptionString', 'url':'itemAbsoluteUrl'}, ..]
为了获得我的#autocomplete html,例如:
<li><a href="data.url">data.title<br>data.descr</li>
感谢您的任何反馈!