2013-11-22 94 views
0

我有以下ajax代碼,其中我正在做一個GET請求一個網址和檢索網頁(html)的迴應。ajax請求錯誤,但在螢火蟲沒有錯誤

供參考: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

數據是否回來不是HTML ? – tymeJV

+0

不正確的數據類型是最有可能的罪魁禍首 –

+0

我想檢索一個網頁,dataType必須是「HTML」,對嗎?糾正我,如果我錯了 – navyad

回答

1

請在你的代碼寫這個

error: function(xhr, status) { 
      console.log("xhr : "+xhr+" Status: "+status); 
     } 

再經過AJAX調用您在Firebug檢查錯誤或代替使誤差函數 一個破發點在終於找到錯誤消息

我幾乎可以肯定你提出跨域請求,什麼是跨域名? 它允許你向另一個域發出請求 例如,當你從本地主機調用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"); 
     } 
}); 
+0

xhr:[object Object] Status:error – navyad

+0

當你登錄xhr時顯示: Object {readyState = 0,status = 0, } 點擊對象並查看responseText –

+0

它不可點擊 – navyad