我正在使用Jquery DataTable。並使用AJAX調用(跨域請求)這樣得到的數據:無法在POST請求期間將內容類型設置到IE 8中的ajax請求標頭上
ajax: {
url: url,
type: 'POST',
dataType: 'json',
contentType: 'application/x-www-form-urlencoded; charset=UTF-8'
}
這是頭如何查找在這個請求IE 8
Key Value
Request POST /api/data HTTP/1.1
Accept */*
Origin http://localhost:5000
Accept-Language en-US
Accept-Encoding gzip, deflate
User-Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)
Host localhost:5555
Content-Length 3647
DNT 1
Connection Keep-Alive
Cache-Control no-cache
的Jquery DataTable自動將內容發佈到服務器。但當請求通過IE 8發送時,服務器沒有收到任何數據中的HttpContext.Current.Request.Form
對象。我使用下面的代碼來讀取服務器發佈的數據。
var formData = HttpContext.Current.Request.Form;
var direction = formData["order[0][dir]"];
var draw = Convert.ToInt32(formData["draw"]);
var length = Convert.ToInt32(formData["length"]);
var start = Convert.ToInt32(formData["start"]);
如果我通過chrome或FireFox發佈請求,我會在服務器上獲取數據。 當請求正在通過IE 8內容類型頭未設置時。我認爲這是數據在服務器端不可用的原因。請幫忙!!
感謝您的回覆。我已經嘗試設置contentType,但看起來像IE 8不會發送此信息。檢查這個鏈接點沒有4. http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx – SharpCoder 2014-09-30 10:16:34
它是跨域嗎? – RichieAHB 2014-09-30 10:21:12
是的這是跨域請求 – SharpCoder 2014-09-30 10:24:45