2

我不知道它是由 jQuery 还是由我的脚本引起的。这是 Internet Explorer 9 给出错误的地方:

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

这是我的 JavaScript 代码

http://jsfiddle.net/fNPwh

根据我的研究,我还在这里检查了我的 DOCTYPE。他们在谈论 Quirks 模式,所以我也尝试输入,x-ua-compatible但没有任何改变

<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" > <!-- IE9 mode -->
blabla

为什么 ie9 给出 jQuery 的无效字符错误?而不是 Firefox 或 webkit。哦,顺便说一句,我使用的是 jQuery 1.9.1。

4

1 回答 1

1

这似乎是 jQuery 库中的一个错误。这篇文章包含为修复添加/修改的代码。null基本上只是在尝试解析之前移动检查并添加检查undefined. 该方法的开始应该看起来像这样......

parseJSON: function( data ) {
    if (data === undefined) {
        return data;
    }
    if (data === null) {
        return data;
    }

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

我已经在 IE10 和 Chrome 中验证了这个修复。

于 2013-03-11T17:48:36.983 回答