Я новичок, когда дело доходит до Ajax и jQuery, и мне нужна помощь ...
Следующий URL создает XML-файл, который я хочу использовать на своей странице: http://ws.spotify.com/search/1/track?q=foo
Когда я использую firebug, кажется, что ничего не возвращается.Что я сделал не так?
Вот как выглядит мой код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $.ajax({ url: 'http://ws.spotify.com/search/1/track?q=foo', type: 'GET', contentType: "application/xml; charset=utf-8", error: function(){ alert('Error loading XML document'); }, success: function(xml){ alert("success"); $(xml).appendTo("#result"); } }); }); </script> </head> <body> <div id="result"> </div> </body> </html>
Является ли ваша веб-страница, на которой работает JS, также с ws.spotify.com? В противном случае вы столкнетесь с ограничениями браузера, чтобы предотвратить межсайтовый скриптинг , используя такую же политику происхождения . Вы можете использовать данные типа jsonp, чтобы обойти эту проблему. Ajaxian предоставил сообщение о обходном пути , которое вы можете использовать. Он не использует jQuery, но может помочь.
Кажется, ваша функция успеха может быть немного отключена:
success: function(data) { alert("success"); $('#result').html(data); }
Могу ли я предложить вам также использовать HTTPFox, чтобы посмотреть, что происходит между вашим скриптом и сервером
Попробуйте использовать формат возврата JSON вместо XML, здесь есть некоторая информация о вашем случае: XmlHTTPRequest: «Ошибка синтаксического анализа XML: элемент не найден»