2017-04-27 76 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