2017-04-27 43 views
0

我有一個讀取XML文件並將其解析爲數據結構的應用程序。 XML大多數情況下都很好。但是,有些時候,XML中會包含無效字符(即非中斷空間)。此代碼適用於Chrome和Firefox。但是,它一直在Internet Explorer中返回parsererror(在IE11中測試過)。有沒有解決這個問題的方法?Ajax GET請求在Internet Explorer中爲包含無效字符的XML返回「parsererror」

$.ajax({ 
    type: "GET", 
    url : path, 
    dataType: "xml", 
    success: parseXml, 
    complete: setupAC, 
    error: function(err,status,error) { 
     alert("Error reading XML File: "+(status)); 
    } 
}); 

回答

0

你可以使用一個更迭功能,它包裝parseXml在try/catch塊,因爲誤差函數將只處理該請求,而不是請求成功處理程序產生的錯誤。

$.ajax({ 
    type: "GET", 
    url : path, 
    dataType: "xml", 
    success: function(xml) { 
     var data = null; 
     try { 
      data = parseXml(xml); 
     } 
     catch (error) { 
      // handle error in some other way if needed. 
     } 
     setupAC(data); 
    }, 
    error: function(err,status,error) { 
     alert("Error reading XML File: "+(status)); 
    } 
}); 

然後只需添加一個後衛爲setupAC(),以便它可以處理空值。 或者只是在succes處理程序中執行整個錯誤處理,另一種方法讓setupAC知道它不會以有效輸入運行。

+0

它仍然表現相同 – nyamuk91