对于Ajax和jQuery,我是新手,需要一些帮助......
以下网址会生成我想在我的网页上使用的xml文件: http://ws.spotify.com/search/1/track?q=foo
当我使用萤火虫时,似乎什么都没有回来。我做错了什么?
这就是我的代码:
<!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>
答案 0 :(得分:2)
您运行JS的网页是否也来自ws.spotify.com?否则,您将遇到浏览器的限制,以使用cross-site scripting来阻止same origin policy。您可以使用jsonp类型的数据来解决此问题。 Ajaxian在workaround上提供了一个你可以使用的帖子。它不使用jQuery,但它可能会有所帮助。
答案 1 :(得分:1)
似乎你的成功功能可能有点偏差:
success: function(data) {
alert("success");
$('#result').html(data);
}
答案 2 :(得分:0)
尝试使用JSON返回格式而不是XML,这里有一些与您的案例相关的信息:XmlHTTPRequest: "XML Parsing Error: no element found"
答案 3 :(得分:0)
我是否可以建议您使用HTTPFox查看脚本与服务器之间发生的事情