同步jquery json请求

7 ajax jquery json synchronous

我需要对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"];
    }
});
Run Code Online (Sandbox Code Playgroud)

如果我删除dataType:"json"或使用POST,它再次同步,但我依赖于同时使用json和GET.

有任何想法吗?

cgp*_*cgp 13

啊,这是因为你正在尝试进行跨域请求,而跨域请求依赖于动态脚本标记,它永远不能同步,必须使用数据类型json和GET方法.

如果执行POST或删除数据类型,则会因同源策略而出现访问错误.它将立即返回,但作为失败.