ajax请求错误但在firebug中没有错误

时间:2013-11-22 17:31:02

标签: jquery ajax

我遵循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。根据萤火虫我成功地提出了要求。

这里有什么问题?

1 个答案:

答案 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");
        }
});