【问题标题】:webkit based browser interpretate the json as a script基于 webkit 的浏览器将 json 解释为脚本
【发布时间】:2010-07-29 15:44:16
【问题描述】:

我只是试图通过 js 获取我的 zootool 项目以将它们推送到我的博客页脚中......但没有成功。 这是我使用的代码 (jquery 框架)

jQuery(document).ready(function($)
{

//first try
var url = "http://zootool.com/api/users/items/?username=USER_NAME&apikey=API_KEY&jsonpcallback=?"
$.getJSON(url, function(data){ console.log(data); });

//second try
url2 = "http://zootool.com/api/users/items/?";
data = "username=USER_NAME&apikey=API_KEY";

$.ajax(
{
 url: url2, dataType: 'jsonp', data: data,
 success: function(data){ console.log(data); }
});

}

基于 webkit 的浏览器告诉我: “资源解释为脚本,但使用 MIME 类型 application/json 传输。”

firefox 效果很好,我得到了一个应用程序/json;我可以成功解析的 utf-8 对象。 你知道可能是什么问题吗? 提前非常感谢!

卢卡

【问题讨论】:

    标签: javascript jquery json webkit jsonp


    【解决方案1】:

    JSONP 响应不是真正的 JSON,而是 JavaScript,因此响应标头中的 Content-Type 应该是 application/javascript。

    【讨论】:

    • 这解决了 webkit 中的问题,并且不会破坏其他浏览器中的任何内容,谢谢。但是,由于兼容性问题,我建议使用text/javascripthafnerdesigns.com/blog/2009/03/…
    【解决方案2】:

    直接来自 zootool 的创建者:


    到目前为止,该 api 还不支持 jsonp 的回调。我刚刚添加了它们,因此您的第一个版本应该稍作调整。您必须将 jsonpcallback 重命名为 callback 才能使其工作。看看这里:

    http://pastebin.com/vA9wcySa

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 2014-01-19
      • 2013-10-15
      • 1970-01-01
      • 2015-01-30
      • 2011-07-03
      相关资源
      最近更新 更多