未捕获的TypeError:undefined不是函数jquery.unobtrusive-ajax.js

rum*_*umi 6 asp.net-mvc jquery asp.net-mvc-4

在我的mvc 4 Web应用程序中,我收到以下错误"未捕获的TypeError:undefined不是函数jquery.unobtrusive-ajax.js:115"

在这条线上我们有

$("a[data-ajax=true]").live("click", function (evt) {
    evt.preventDefault();
    asyncRequest(this, {
        url: this.href,
        type: "GET",
        data: []
    });
});
Run Code Online (Sandbox Code Playgroud)

我发现很多人得到同样的错误并阅读帖子.几乎所有人都建议重新排序jquery和其他脚本,我现在已经尝试了很长时间,但似乎没有删除此错误.

目前我在head部分按以下顺序拥有css和脚本.任何人都可以找到任何问题吗?谢谢

<link href="/Content/main/css/bootstrap.css" rel="stylesheet"/>
<link href="/Content/UiDatePicker.css" rel="stylesheet"/>
<link href="/Content/Site.css" rel="stylesheet"/>

<script src="/Scripts/modernizr-2.5.3.js"></script>
<script src="/Scripts/jquery-1.9.1.js"></script>
<script src="/Scripts/jquery-ui.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/respond.js"></script>
<script src="/Content/main/js/General.js"></script>


<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
Run Code Online (Sandbox Code Playgroud)

Reg*_*ent 4

.live()在 jQuery 1.7 中已弃用,并在 jQuery 1.9 中删除。您可以使用.on()代替:

$("a[data-ajax=true]").on("click", function (evt) {
Run Code Online (Sandbox Code Playgroud)

或者,如果元素是动态添加的:

$(document).on('click', "a[data-ajax=true]", function (evt) {
Run Code Online (Sandbox Code Playgroud)

注意:尽管可以在unobtrusive-ajax.js中修复所有这些问题,但最好下载已修复所有这些问题的更新版本(当然,如果这个版本存在的话)。