基于webkit的浏览器将json解释为脚本

时间:2010-07-29 15:44:16

标签: javascript jquery json webkit jsonp

我只是试着通过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对象,我可以成功解析。 你知道可能是什么问题吗? 非常感谢!

卢卡

2 个答案:

答案 0 :(得分:5)

JSONP响应实际上不是JSON而是JavaScript,因此响应头中的Content-Type应该是application / javascript。

答案 1 :(得分:0)

直接来自zootool的创建者:


到目前为止,api还没有支持jsonp的回调。我刚添加它们,所以你的第一个版本应该稍作调整。你必须将jsonpcallback重命名为callback以使其工作。看看这里:

http://pastebin.com/vA9wcySa