Нет ответа от вызова jQuery ajax - PullRequest
0 голосов
/ 05 июля 2010

Я боролся с этим слишком долго сегодня вечером, и я не нашел ничего полезного при поиске ответов.Это, наверное, очень просто.

Я пытаюсь загрузить данные с помощью API метаданных Spotify, выполняя вызовы AJAX с помощью jQuery.Выполнение этого запроса в браузере работает просто отлично: http://ws.spotify.com/search/1/track?q=foo Но когда я пытаюсь загрузить тот же запрос с помощью jQuery, я ничего не получаю в ответ.Я пробовал разные contentTypes и dataTypes, но я не могу понять, в чем дело!

Код довольно прост:

$.ajax({ 
    url: "http://ws.spotify.com/search/1/track",
    data: "q=foo",
    success: function(xml){
        // do stuff...
    },
    contentType: "application/xml",
    dataType: "xml"
});

Если я сохраню XML, возвращенный при выполнении запросав браузере и загрузке этого файла в качестве параметра url в $ .ajax-запросе все работает просто отлично, поэтому я предполагаю, что это как-то связано с форматом.

Документация по API метаданных Spotify может быть полезной, но я не могу понять, что я могу делать неправильно.

Ответы [ 2 ]

4 голосов
/ 05 июля 2010

Вы не можете сделать междоменный вызов ajax (в большинстве браузеров). Поскольку конечная точка API-интерфейса spotify еще не поддерживает jsonp , вам придется создать прокси на стороне сервера, который будет передавать XML обратно на вашу страницу.

0 голосов
/ 05 июля 2010

Я думаю, что вы столкнулись с ограничениями в XMLHTTPRequest, которые запрещают запросы XSS.Дополнительная документация доступна здесь: http://www.simple -talk.com / dotnet / asp.net / call-cross-domain-web-services-in-ajax / В списке есть несколько обходных путей.

...