синхронный JQuery JSON запрос - PullRequest
7 голосов
/ 05 июня 2009

Мне нужно сделать синхронный запрос к API last.fm, но когда я использую 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.

Есть идеи?

1 Ответ

13 голосов
/ 05 июня 2009

Ах, это потому, что вы пытаетесь выполнять междоменные запросы, а междоменные запросы полагаются на динамический тег сценария, который никогда не может быть синхронным, должен использовать тип данных json и метод GET.

Если вы выполните POST или удалите тип данных, вы получите ошибку доступа из-за политики same-origin . Он вернется немедленно, но как сбой.

...