jQuery getJSON函数没有返回任何内容

时间:2017-03-30 13:55:24

标签: javascript jquery json ajax asynchronous

我有这段代码:

$.getJSON('data.json', function (data) {
    console.log(data);
});

这是data.json文件:

{
  "Sameer": {
    "Phone": "0123456789",
  },
  "Mona": {
    "Phone": "0123456789",
  },
}

但是console.log(data)没有返回任何内容,甚至没有错误,我也不知道我的代码有什么问题。

我尝试使用$.ajax()功能,但没有运气。当我将data.json文件更改为随机的类似:data.asd时,我收到一条错误消息,指出文件data.asd未找到!

3 个答案:

答案 0 :(得分:3)

您的JSON(逗号)上存在语法错误,这是正确的版本:

{
  "Sameer": {
    "Phone": "0123456789"
  },
  "Mona": {
    "Phone": "0123456789"
  }
}

如果您有无声的失败,请使用http://jsonlint.com/等工具检查您的JSON。

来自jQuery $.getJson() documentation

  

重要提示:从jQuery 1.4开始,如果JSON文件包含语法错误,   请求通常会无声地失败。

答案 1 :(得分:1)

更正jSon格式:

{
    "Sameer": {
        "Phone": "0123456789"
    },
    "Mona": {
        "Phone": "0123456789"
    }
}

答案 2 :(得分:1)

您的json在,@Taki时遇到问题。我将更正后的json存储在url下方,getJSON api没有问题。我可以在console中输出json。尝试在代码片段下运行。



$.getJSON('https://api.myjson.com/bins/qnucf', function (data) {
    console.log(data);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;