如果您有时间,我将对返回XML流的Tomcat servlet发出XHR请求。我一直在研究从ActiveX MSXML转换到XHR的规模。我加入了承诺,因为ActiveX是同步的,而XHR是异步的。返回的XML很长,但是XHR请求在IE 11中没有问题。边缘似乎挂了起来,停止了执行。什么也不会发生。另一个"smaller"抓取XSL的XHR请求很好。Tomcat日志显示它处理来自Edge的请求并发送响应,没有问题。无论如何,代码非常简单。非常感谢。
xmldoc = new XMLHttpRequest();
return new Promise(function(resolve, reject) {
setTimeout(function() {
xmldoc.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
alert(xmldoc.responseText);
resolve(xmldoc);
}
};
xmldoc.open("GET", url, true);
xmldoc.send();
}, 200);
});
在弄清楚如何在Edge中调试后,这原来是来自Tomcat的CORS过滤器错误。我在web.xml中设置过滤器,使用特定的cored .allowed.origins。tomcat.apache.org/tomcat - 9.0 - doc/config/filter.html # CORS_Filter