Jquery自动完成代码适用于旧版本的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

过去我一直在成功地使用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,
        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()它提供向后兼容性