我在不同的域上有两个应用程序:foo.bar.com和bar.com 我尝试将请求从第一个域发送到第二个域。为此,我在web.xml的第二个域中添加了一个过滤器:
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>
它适用于所有浏览器,除了 IE 浏览器。对于 IE,我为第一个服务器 ob JS 添加了特殊条件:
if ($.browser.msie && window.XDomainRequest) {
var xdr = new XDomainRequest();
xdr.open("POST", "http://bar.com/user/login");
var loginParam = get param here;
var passParam = get param here;
xdr.send("login=" + loginParam + "&password=" + passParam);
xdr.onerror = function () {
alert('in error');
};
xdr.onload = function () {
alert(xdr.responseText);
}
} else {
//Simple AJAX request
}
});
在此之后,我的服务器过滤器上收到了请求!但我没有参数:他们错过了登录名和密码。在这种情况下我该怎么办?如何在 IE 中执行跨域 POST 请求?