【问题标题】:Jquery getJSON not working in chromeJquery getJSON 在 Chrome 中不起作用
【发布时间】:2017-09-05 03:11:58
【问题描述】:

我正在尝试使用 jquery 的 getJSON 方法读取本地 json 文件,因此我编写了以下代码来读取,但控制台日志在 firefox 中工作正常并显示输出但在 chrome 中不工作。 在 chrome 上我得到了这个错误:

Request Failed: parsererror, SyntaxError: Unexpected token } in JSON at position 951

这是我写的代码:

   $(document).ready(function(){

        $.getJSON('http://localhost/page2/data/cd.json',function(data){
          alert("success");
          console.log(data);
      })
        .fail(function( jqxhr, textStatus, error ) {
            var err = textStatus + ", " + error;
            console.log( "Request Failed: " + err );
        });



    });

我将此文件托管在 Xampp 本地服务器中, 我还检查 JSON 文件以进行验证。 该文件是有效的 JSON 文件。

【问题讨论】:

  • 你能确认你的json是一个有效的,比如{"key":"value"}
  • 我不确定,您是如何验证您的 json 的,但请您在 jsonlint.com 上查看
  • 是的文件是 vaildate 使用 jsonlint.com

标签: javascript jquery json google-chrome xampp


【解决方案1】:

伙计们,我有一些奇怪的事情, 这是我的 json 文件

{
    "country": {
        "city": {
            "1": "A",
            "2": "B"
        },
        "cars": {

        }
    }
}

这里的汽车段没有任何价值,所以当我在 JSONLint.com 上检查时,我将它保持为空,它说它是有效的 JSON。和 firefox 也没有显示任何错误,但 chrome 会。所以我在汽车中添加了新的键值,如下所示。

{
    "country": {
        "city": {
            "1": "A",
            "2": "B"
        },
        "cars": {
            "1": "none"
        }
    }
}

它开始在 chrome 中工作。谁能解释为什么它对 chrome 无效?但在 Firefox 中有效。

【讨论】:

    【解决方案2】:

    JSON 中一定有问题,请在 https://jsonformatter.curiousconcept.com/ 上验证您的 JSON 数据

    祝你好运

    【讨论】:

      【解决方案3】:

      删除所有“回车”后,您的测试 json 数据在 chrome 上运行良好 你可以用 JSON.parse('{"country": {"city": { "1": "A", "2": "B" }, "cars": {} }}');在 chrome 控制台中。 enter image description here

      根据spec,它允许使用空对象作为值。 谢谢, 勇

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多