Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax GET请求返回“;parsererror";用于Internet Explorer中包含无效字符的XML_Javascript_Jquery_Ajax_Xml - Fatal编程技术网

Javascript Ajax GET请求返回“;parsererror";用于Internet Explorer中包含无效字符的XML

Javascript Ajax GET请求返回“;parsererror";用于Internet Explorer中包含无效字符的XML,javascript,jquery,ajax,xml,Javascript,Jquery,Ajax,Xml,我有一个应用程序,可以读取XML文件并将其解析为数据结构。XML在大多数情况下都很好。但是,有时XML中会包含无效字符(即不间断空格)。这段代码适用于Chrome和Firefox。然而,它在InternetExplorer中不断返回parsererror(在IE11中测试)。这个问题有解决办法吗 $.ajax({ type: "GET", url : path, dataType: "xml", success: parseXml, complete: s

我有一个应用程序,可以读取XML文件并将其解析为数据结构。XML在大多数情况下都很好。但是,有时XML中会包含无效字符(即不间断空格)。这段代码适用于Chrome和Firefox。然而,它在InternetExplorer中不断返回parsererror(在IE11中测试)。这个问题有解决办法吗

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

您可以使用succes函数将parseXml包装在try/catch块中,因为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知道它不会使用有效的输入运行。

它的行为仍然相同