Jquery自动完成代码适用于旧版本的Jquery,但不适用于更高版本
过去我一直在成功地使用jqueryautocomplete。最近,我升级到了jquery和jquery ui的新版本,并且在相同的代码中出现了错误 工作版本:jquery 1.8.2、jquery ui 1.8.24 失败的版本:jquery 1.10.2、jquery ui 1.11.4 以下是Jquery自动完成代码:Jquery自动完成代码适用于旧版本的Jquery,但不适用于更高版本,jquery,autocomplete,Jquery,Autocomplete,过去我一直在成功地使用jqueryautocomplete。最近,我升级到了jquery和jquery ui的新版本,并且在相同的代码中出现了错误 工作版本:jquery 1.8.2、jquery ui 1.8.24 失败的版本:jquery 1.10.2、jquery ui 1.11.4 以下是Jquery自动完成代码: $('#lakeId').autocomplete({ delay: 1000, minLength: 0, sour
$('#lakeId').autocomplete({
delay: 1000,
minLength: 0,
source: function (request, response) {
$.ajax({
url: '@Url.Action("getLakes","BuoyJS")',
type: "GET",
dataType: "json",
data: { term: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.lakeId, value: item.lakeId };
}))
}
})
},
});
当它失败时,我会收到一条消息,表明从服务器成功返回后,在response$.map语句中找不到函数。以下是从服务器(Firebug)返回的内容的视图:
以下是返回到浏览器进行解析的JSON字符串。通过选择responseText参数,我从Firebug获得了这一点
“[{lakeId:“M:Maranacook Lake”},{“lakeId:“MH:Moosehead Lake”},{“lakeId:“MOUSAM:MOUSAM Lake”},{“lakeId:“MSLK:Mooselookmeguntic”}]”,我能够通过将Jquery的版本从1.8逐渐增加到2.2.3来解决这个问题,这是Visual Studio 2015 Nuget提供的最新版本。我不确定与上次有什么不同,但它现在可以工作了。我可以通过将Jquery的版本从1.8逐渐增加到2.2.3来解决这个问题,这是Visual Studio 2015 Nuget提供的最新版本。我不确定与上次有什么不同,但它现在起作用了。使用jQuerymigrate()它提供向后兼容性使用jQuerymigrate()它提供向后兼容性