2013-01-23 19 views
1

我正在做一個原型,它將從Web資源位置獲取各種XML,然後將它們顯示在DOM上。來自AJAX JQUERY調用XML文件的「未定義」錯誤響應

下面是函數

function readXML() 
{ 
    $.ajax({ 
     type: "GET", 
     url: "https://collaboratewiki.com/wikiattachments/61736956/engineer.xml", 
     dataType: "xml", 
     success: function(xml) 
     { 
      window.alert("success") 
     }, 
     error: function(xhr,err) 
     { 
      alert("readyState: "+err.readyState+"\nstatus: "+err.status); 
      alert("responseText: "+err.responseText); 
     } 
}); 


} 

當我調用此函數它進入錯誤的情況下,但我在消息輸出得到「未定義」。

enter image description here

我需要找出爲什麼我不能去找我的XML,但與此輸出其沒有幫助的。

如何獲取AJAX調用發生的錯誤的所有細節?

我嘗試過,而不是「err.responseText」,「xhr.responseText」,但我仍然得到未定義。

由於

+0

附:它可能是因爲它的HTTPS? – kaleeway

+0

您是否從控制檯收到任何其他錯誤? –

回答

7

documentation

錯誤

類型:Function(jqXHR jqXHR,字符串textStatus,字符串errorThrown)

第二和第三個參數是字符串,而不是對象,所以他們不會有額外的屬性。您試圖獲得的某些內容(例如readyState)將從您的代碼中的xhr對象中提供,而不是從err(它只是一個字符串)中提供。

你可能想嘗試這樣的:

error: function(xhr,textStatus,err) 
{ 
    console.log("readyState: " + xhr.readyState); 
    console.log("responseText: "+ xhr.responseText); 
    console.log("status: " + xhr.status); 
    console.log("text status: " + textStatus); 
    console.log("error: " + err); 
} 
+1

我真的不明白Jquery文檔,它對我沒有意義。你可以給我代碼解決方案嗎? – kaleeway

+0

@loosebruce更新了代碼片段(我不能保證那些屬性可用,但我相信它們是)。你真的應該學習如何理解文檔,但它會爲你解答大部分問題;這裏的關鍵部分是傳遞的參數的* types * - 您試圖將字符串用作對象。 –

+0

好吧我只是試過這個,輸出是:readystate = 0,responsetext =「」,status = 0,textstatus =「error」m error =「」。 這是什麼意思? – kaleeway

0
   $("#box #tozihat .x1").click(
       function() 
       { 
        var id=0 
        var length=''; 
        id=$(this).attr('id'); 
        length=$("#bordersabad #"+id+"").length; 



        $.ajax({ 
         type:'post', 
         url:"sabad.php", 
         data:{idmahsool:id} 
         }) 
         .done(function(){ 

          if(length==1){ 
           var tedad=0; 
           tedad=$("#bordersabad #"+id+"#tedad").html(); 
           alert(tedad); 
          } 
          else 
          { 
          } 

         }) 

       }) 
+0

你能擴展這個答案嗎? http://stackoverflow.com/help/how-to-answer –