我遵循ajax代码,其中我正在向网址发出GET
请求并检索网页(html)响应。
仅供参考:firefox_v_26
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$.ajax({
url: "http://zenhabits.net",
type: "GET",
dataType : "html",
success: function( data ) {
alert("success")
},
error: function( xhr, status ) {
alert("error");
},
});
</script>
它正在警告并显示错误消息。
但当我用萤火虫追踪请求时,回复是200
。根据萤火虫我成功地提出了要求。
这里有什么问题?
答案 0 :(得分:1)
请在您的代码中写下
error: function( xhr, status ) {
console.log("xhr : "+xhr+" Status: "+status);
}
然后在Ajax调用之后检查firebug中的错误或者在错误函数中创建一个断点 最后找到错误消息
我几乎可以肯定您提出了跨域请求,什么是跨域? 它允许您向另一个域发出请求 例如,当您从localhost调用Ajax到http://zenhabits.net时,您会发出跨域请求, 或者,即使您从子域到主域进行Ajax调用,也会发出跨域请求。 看这个例子: 假设我正在“api.jquery.com”子域中开发“api.jquery.com”的Ajax请求,而不是主域“www.jquery.com”。返回的值是“成功”,但如果您转到“www.jquery.com”并再次调用此请求,则会出现“错误”,因为您有跨域请求
$.ajax({
url: "http://api.jquery.com",
type: "GET",
dataType : "html",
success: function( data ) {
alert("success")
},
error: function( xhr, status ) {
alert("error");
}
});