我刚刚将 jQuery 和 jQuery UI 更新为: jquery-1.9.0.min.js 和 jquery-ui-1.9.2.min.js
而且...我所有不显眼的 Ajax 调用(Ajax.ActionLink、Ajax.BeginForm)都停止正常工作 - 它们在新页面中打开结果,而不是更新现有的 div。
当我的页面加载时,我在 Firebug 中收到此 javascript 错误:
代码当然没有改变,只是使用 Nuget 更新了 jQuery 脚本。
有人遇到过同样的问题吗?
最佳答案
更新:此问题已在最新的 NuGet 包中得到修复。我发布了另一个答案来反射(reflect)这一点。 https://stackoverflow.com/a/15539422/714309
<小时/>在jquery.unobtrusive-ajax.js
中,找到并替换这四行:
$("a[data-ajax=true]").live("click", function (evt) {
$(document).on("click", "a[data-ajax=true]", function (evt) {
$("form[data-ajax=true] input[type=image]").live("click", function (evt) {
$(document).on("click", "form[data-ajax=true] input[type=image]", function (evt) {
$("form[data-ajax=true] :submit").live("click", function (evt) {
$(document).on("click", "form[data-ajax=true] :submit", function (evt) {
$("form[data-ajax=true]").live("提交", function (evt) {
$(document).on("提交", "form[data-ajax=true]", function (evt) {
您还可以使用 WebGrease 生成新的 jquery.unobtrusive-ajax.min.js
。
从命令提示符中,切换到您的解决方案文件夹并输入以下命令(假设您的项目文件夹名为 Web
):
packages\WebGrease.1.3.0\tools\WG.exe -m -in:Web\Scripts\jquery.unobtrusive-ajax.js -out:Web\Scripts\jquery.unobtrusive-ajax.min.js
关于jquery - Unobtrusive Ajax 在将 jQuery 更新到 1.9.0 后停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14391867/