同步jquery json请求
我需要向last.fm API发出同步请求,但是当我同时使用GET和json时,请求变成异步的。
我的代码:
$.ajax({
async: false,
dataType: "json",
url: "http://ws.audioscrobbler.com/2.0/?method=artist.getimages&artist="+artist+"&api_key="+apiKey+"&format=json&callback=?",
success: function(html){
imgURL = html.images.image[1].sizes.size[0]["#text"];
}
});
如果我删除 dataType: "json" 或使用 POST,它会再次同步,但我依赖于同时使用 json 和 GET。
有任何想法吗?
I need to make a synchronous request to the last.fm API, but when I use GET and json together, the request becomes asynchronous.
my code:
$.ajax({
async: false,
dataType: "json",
url: "http://ws.audioscrobbler.com/2.0/?method=artist.getimages&artist="+artist+"&api_key="+apiKey+"&format=json&callback=?",
success: function(html){
imgURL = html.images.image[1].sizes.size[0]["#text"];
}
});
If I remove dataType: "json" or use POST, it's synchronous again, but I'm dependant on using both json and GET.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
啊,这是因为你试图做跨域请求,而跨域请求依赖于动态脚本标签,它永远不可能同步,必须使用数据类型 json 和 GET 方法。
如果您执行 POST 或删除数据类型,您将收到访问错误,因为 same-origin政策。 它将立即返回,但作为失败。
Ah, this is because you're trying to do cross-domain requests, and cross-domain requests rely on a dynamic script tag, which can never be synchronous, must use datatype json and the GET method.
If you do a POST or remove the datatype, you will get an access error because of same-origin policy. It will return immediately, but as a failure.