【问题标题】:My "JSON" isn't working我的“JSON”不起作用
【发布时间】:2012-07-23 07:39:48
【问题描述】:

我正在通过 JSON 在页面上加载大量项目,但它无法正常工作。这是我第一次使用 JSON,我认为 JSON 只是一个大对象,所以我将之前在变量中的对象复制到一个文件中,并将其命名为 fun.js。

您可以在此处查看 JSON:

http://justpaste.it/15zc

我正在使用 jQuery 来获取 JSON:

$.getJSON('fun.js', function(data){
alert(data)
});

没有什么是警报,事实上……警报根本没有发生。有人知道为什么吗?

【问题讨论】:

  • 没有。我检查了网络,我得到了一个好的。我什至检查 JSON 中的错误,并修复了所有错误。
  • 您熟悉 FireBug 吗?如果您使用console.log(data) 代替alert(),控制台日志中是否会显示任何数据?
  • 如果你一开始尝试使用像{ foo: 'bar' }这样的较小的json呢?
  • 我只能使用 Chrome 开发者。但我想试试。
  • 这似乎不是有效的 json。尝试使用json validator

标签: javascript jquery json


【解决方案1】:

对于初学者来说,您的 JSON 没有经过验证。将其粘贴到此处并修复您的错误:http://jsonformatter.curiousconcept.com/

其次,您可以将 onError 参数传递给用户 jQuery.Ajax,这样您就会收到 JSON 未通过的警告。

【讨论】:

  • 我们也可以只使用 Chrome 的开发者工具之类的工具来观察网络请求,而不是专门为调试而破解我们自己的错误回调。
  • 哦,我不知道您需要在所有内容上使用双引号。
【解决方案2】:

您是否确认 JSON 是问题所在?打开 Firebug 或 Chrome 开发工具并刷新页面。您可能会看到一条消息,指出未找到文件或存在解析异常或安全错误。

  • 如果找不到该文件,您可以在代码中修复它。
  • 如果出现解析错误,请使用 JSON 验证器。
  • 如果存在安全问题,请参阅我对Get a JSON file from URL and display 的回复。您需要更新您的服务器策略或配置您的浏览器以允许在您的测试中访问文件 URL。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 2013-06-30
    • 2015-11-26
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    相关资源
    最近更新 更多