2
我有不同的域兩種應用:foo.bar.com和bar.com 我嘗試從第一域第二發送請求。對於這一點,我添加了一個過濾器到秒域的web.xml:Spring MVC的解析POST跨域請求錯過參數
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>
而對於它的作品,除了IE瀏覽器所有瀏覽器。 對於IE我已經添加了特殊條件的firt服務器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請求?
您如何驗證登錄名/密碼未到達服務器?你可以做一個網絡跟蹤來查看實體HTTP請求中是否包含正文?另請閱讀以下文章以瞭解IE的XDomainRequest的限制:http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx – monsur 2013-03-28 15:00:43
我有在IE控制檯中調試,這兩個params被正常地發送到服務器。比起,在Java應用程序中啓動了我的調試,並且在請求中沒有參數 – Andrew 2013-03-28 16:15:12
您可以包含IE中請求的外觀快照嗎?另外,你從哪裏開始Java調試?在CORS過濾器之前,之中還是之後?在Java快照之前是否有任何過濾器或代碼運行? – monsur 2013-03-28 20:34:44