【问题标题】:having trouble getting malformed JSON cross-domain无法跨域获取格式错误的 JSON
【发布时间】:2011-05-02 04:40:33
【问题描述】:

这是一个非常狭窄的代码范围,但这正是问题所在。

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

我正在使用 jquery 1.3,因为 1.3 中的 getJSON 可以处理格式错误的 JSON。我从中获取 json 的服务器使用旧参数:'value' 格式。

这是一个令人困惑的问题。

如果 tabUrl 是跨域服务器并且是有效的 JSON,它可以正常工作。
如果 tabUrl 是本地文件并且是有效的或无效的,它可以正常工作。
如果 tabUrl 是跨域且无效,我在 firebug 中没有错误,但无法操作数据。

如果有人可以提出解决方法,我使用 jQuery 1.4 没有问题。

【问题讨论】:

  • 这个畸形的 json 长什么样子?
  • 有效的 json 格式为 "parameter":"value" 格式错误的格式为 parameter:'value'
  • 如果调用 data.toSource() 会发生什么?

标签: javascript jquery json cross-domain getjson


【解决方案1】:

您可以为此尝试 Yahoo Pipes。我认为它可以修复您的 JSON 并返回一个 JSONP 以使用跨域。

【讨论】:

    【解决方案2】:

    jQuery 4.0 Breaking Changes list 表示我们要发出一个文本请求并使用 eval() 来评估内容。

    【讨论】:

      猜你喜欢
      • 2016-07-27
      • 1970-01-01
      • 2021-02-27
      • 1970-01-01
      • 2020-11-25
      • 1970-01-01
      • 2023-03-20
      • 2011-06-28
      • 1970-01-01
      相关资源
      最近更新 更多