我已经完成了这篇文章中描述的所有步骤:
将 jQuery 更新到 1.9.0 后,Unobtrusive Ajax 停止工作
和这个:
更新到 Jquery 1.9.0 时 jquery.unobtrusive-ajax 插件损坏
但是,我仍然在 (jquery.validate.unobtrusive.js) 的这一行收到了萤火虫警告
$jQval.unobtrusive.parse(document);
我已经完成了这篇文章中描述的所有步骤:
将 jQuery 更新到 1.9.0 后,Unobtrusive Ajax 停止工作
和这个:
更新到 Jquery 1.9.0 时 jquery.unobtrusive-ajax 插件损坏
但是,我仍然在 (jquery.validate.unobtrusive.js) 的这一行收到了萤火虫警告
$jQval.unobtrusive.parse(document);
现在可以正常工作了。请让我知道这是否不正确,但从我所看到的情况来看,它工作正常。
jquery.validate.unobtrusive.js
209行从此:
var $forms = $(selector)
.parents("form")
.andSelf()
.add($(selector).find("form"))
.filter("form");
第 209 行至此:
var $forms = $(selector)
.parents("form")
.addBack()
.add($(selector).find("form"))
.filter("form");
第 43 行:
replace = container.attr("data-valmsg-replace") && $.parseJSON(container.attr("data-valmsg-replace")) !== false;
第 73 行:
replace = container.attr("data-valmsg-replace") && $.parseJSON(container.attr("data-valmsg-replace"));
您的解决方案并不正确,并且您的修复程序可以完成工作,但我认为有关它的一些背景信息不会受到伤害。
请注意,导致警告的原因是jQuery Migrate插件。
它用于根据旧 jQuery 版本为代码提供向后兼容性。如果您不想收到有关已弃用功能以及如何将它们更新到当前标准的警告,您可以使用以下代码行禁用警告:
jQuery.migrateMute = true;
请注意,这些警告仅发生在 jQuery Migrate 的开发版本中,因此如果您切换到 jquery migrate ( jquery-migrate-1.0.0.min.js
) 的缩小版本,甚至不需要此行。
另请注意,您正在使用 jquery 文件的开发版本,在生产环境中您应该使用缩小版本,因此您的修复也需要在jquery.validate.unobtrusive.min.js
.
总而言之: