2010-07-04 4 views
0

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

Я пытаюсь загрузить данные с помощью Spotify Metadata API, выполнив вызовы 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-запроса, все работает просто отлично, поэтому я думаю, что это имеет какое-то отношение к формату.

The documentation for the Spotify Metadata API может быть полезным, но я не могу понять, что я могу делать неправильно.

ответ

4

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

+0

Вы правы ... Я этого не знал. –

+0

Ах, не знал этого. Благодаря! – thorseye