基于 webkit 的浏览器将 json 解释为脚本
我只是尝试通过 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 运行良好,我得到一个 application/json;我可以成功解析的 utf-8 对象。 你知道可能是什么问题吗? 预先非常感谢!
卢卡
im just tryin to get my zootool items via js to push them in my blog's footer...but with no success.
here's the code im using
(jquery framework)
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 based browser tells me that:
"Resource interpreted as script but transferred with MIME type application/json."
firefox works good, i get an application/json; utf-8 object that i can parse succesfully.
do you know what could be the problem?
thanks a lot in advance!
Luca
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
JSONP 响应实际上并不是 JSON,而是 JavaScript,因此响应标头中的 Content-Type 应该是 application/javascript。
A JSONP response is not really JSON but JavaScript, so the Content-Type in the response header should be application/javascript.
直接来自zootool的创建者:
到目前为止,api还不支持jsonp的回调。我刚刚添加了它们,因此您的第一个版本应该可以进行一些调整。您必须将 jsonpcallback 重命名为回调才能使其工作。看看这里:
http://pastebin.com/vA9wcySa
directly from the creator of zootool:
the api hasn't supported callbacks for jsonp so far. I just added them so your first version should work with a little adjustment. you have to rename jsonpcallback to callback to make it work. take a look here:
http://pastebin.com/vA9wcySa