gpt4 book ai didi

jquery - 升级到 jQuery 1.9 后 MVC 4 Internet 项目 JSON 错误

转载 作者:行者123 更新时间:2023-12-01 00:23:39 27 4
gpt4 key购买 nike

在 Visual Studio 2012 中,我使用 Internet 模板创建了一个 MVC 4 项目,然后当我将 jQuery 更新到当前版本 1.9 时,在尝试登录生成的 Web 应用程序时收到 jQuery 错误。此错误仅发生在 IE 中(我运行的是 IE 10),并且似乎是由于不同浏览器之间的 JSON 解析器存在差异所致。

所以我需要解决的是,我们如何使用 MVC 4 Internet 模板,同时仍然能够更新到 jQuery 1.9。

以下是重现错误的步骤;

1:使用 Internet 项目模板创建一个新的 MVC 4 项目 - 该模板使用 jQuery 1.7.1.1 并且工作正常,我可以注册为新用户并登录等。
2:现在将 jQuery、jQuery 验证和 jQuery UI 更新到最新版本(当前分别为 1.9.0、1.10.0 和 1.10.0)。
3:运行应用程序并切换到登录页面。此页面在以下 jquery.unobtrusive-ajax.js 代码中生成错误;

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


4: 好吧,没问题,live() 在 jQuery 1.9 中被删除,所以我包含了 jQuery 迁移脚本 jquery-migrate-1.0.0.js .
5: 我重新运行应用程序,现在在 jquery-1.9.0.js 中登录解析 JSON 时出现错误。错误出现在parseJSON方法中;

    parseJSON: function( data ) {
// Attempt to parse using the native JSON parser first
if ( window.JSON && window.JSON.parse ) {
return window.JSON.parse( data );
}...

该错误是由于“未定义”被传递给 parseJSON 引起的,因此在 IE window.JSON.parse 中会引发错误,而在其他浏览器中不会引发错误。

所以问题是,让 MVC 4 Internet 模板在 IE 上与 jQuery 1.9 配合使用的可接受的解决方法是什么?

顺便说一句,这是 jQuery 1.8 中的部分 parseJSON 方法这解释了为什么之前没有错误。

    parseJSON: function( data ) {
if ( !data || typeof data !== "string") {
return null;
}...

最佳答案

答案可能就在这个链接中。 http://forum.jquery.com/topic/parsejson-in-1-9-0-is-different-from-earlier-versionsMVC 团队似乎计划在下一个版本中修复它。我希望这会有所帮助。

关于jquery - 升级到 jQuery 1.9 后 MVC 4 Internet 项目 JSON 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14453235/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com