Javascript 使用ajax源代码的jquery自动完成不会检索结果
我有以下从ajax数据源提取的自动完成功能:Javascript 使用ajax源代码的jquery自动完成不会检索结果,javascript,jquery,ajax,jquery-autocomplete,Javascript,Jquery,Ajax,Jquery Autocomplete,我有以下从ajax数据源提取的自动完成功能: $("#id_q").autocomplete({ source: function (request, response) { $.ajax({ url: "/search/autocomplete/", dataType: "jsonp", data: { q: request.term },
$("#id_q").autocomplete({
source: function (request, response) {
$.ajax({
url: "/search/autocomplete/",
dataType: "jsonp",
data: {
q: request.term
},
success: function (data) {
alert(data);
response(data);
}
});
},
minLength: 3,
select: function (event, ui) {
log(ui.item ?
"Selected: " + ui.item.label :
"Nothing selected, input was " + this.value);
},
open: function () {
$(this).removeClass("ui-corner-all").addClass("ui-corner-top");
},
close: function () {
$(this).removeClass("ui-corner-top").addClass("ui-corner-all");
}
});
服务器端我可以看到返回的结果是正确的,如下所示:
{"results": ["BEEF", "BEEFARONI", "BEEFARONI", "BEEF", "BEET"]}
成功方法从不触发警报
我还应该重命名request.term吗
我做错了什么?我在哪里可以打印返回的数据以了解发生了什么?您是否将数据传递给
源方法?
您的url
正确吗?我认为您的错误,请尝试编写整个URL或使用REST客户端进行检查。谢谢您的提示@Andrew Whitaker。我删除了整个数据类型行,它工作了。您可以尝试使用statusCode:200{}来确保该方法工作正常。为什么数据类型是
,但您找到了一个相对URL?您的结果是JSON而不是jsonp。因此,您应该使用数据类型:“json”
。