在我的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: []
});
});
我发现很多人都得到同样的错误并阅读帖子。几乎所有人都建议重新排序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>
答案 0 :(得分:3)
.live()
在jQuery 1.7中已被弃用,并在jQuery 1.9中被删除。您可以改为使用.on():
$("a[data-ajax=true]").on("click", function (evt) {
或者,如果动态添加元素:
$(document).on('click', "a[data-ajax=true]", function (evt) {
注意:即使可以在 unobtrusive-ajax.js 中修复所有这些问题,最好下载更新版本,修复所有这些问题(如果此版本存在的话) ,当然)。