我有一个应用程序,它读取XML文件并将其解析为数据结构。 XML大部分时间都很好。有时,XML会在其中包含无效字符(即不间断的空格)。此代码适用于Chrome和Firefox。但是,它一直在Internet Explorer中返回parsererror(在IE11中测试)。这个问题有解决方法吗?
$.ajax({
type: "GET",
url : path,
dataType: "xml",
success: parseXml,
complete: setupAC,
error: function(err,status,error) {
alert("Error reading XML File: "+(status));
}
});
答案 0 :(得分:0)
您可以使用在try / catch块中包装parseXml的succes函数,因为error函数只处理请求生成的错误,而不是请求成功处理程序。
$.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知道它不会以有效输入运行。