我有一個虛擬目錄在IIS 5.1上有兩個aspx頁面。訪問配置爲「集成Windows身份驗證」選項的Page1打開並禁用匿名訪問。第2頁通過匿名訪問提供。在客戶端,有XmlHttpRequest對象,可以將包含POST數據的請求發送到此頁面。爲什麼在使用XMLHttpRequest對象發送POST請求時Content-Length爲0?
起初我嘗試發送請求到Page1。出現標準Windows身份驗證對話框,我輸入我的憑據並Page1成功接收POST數據。 之後,我嘗試對匿名訪問的Page2發出相同的POST請求。在這種情況下,請求的頭部Content-Length = 0,並且沒有發送任何數據。
如果向Page1重複請求 - 它成功接收POST數據。相同的代碼在Firefox 3.5中運行良好。即使在向Windows發送請求後,Page2仍然可以接收數據。Page1。什麼可能是錯誤的?也許這是解決這個問題的方法嗎?
謝謝!
發送數據:
function sendRequest() {
var url = "http://tom/AuthTest/Default.aspx";
var data = "data";
reqSend(url, data);
}
function sendRequestToWinAuth() {
var url = "http://tom/AuthTest/DefaultWA.aspx";
var data = "newdata";
reqSend(url, data);
}
function reqSend(url, data) {
var xmlhttp = createRequestObject();
if (!xmlhttp) {
alert("Cannot create XMLHttpRequest object.");
return;
}
try {
xmlhttp.open("POST", url, false);
xmlhttp.send(data);
}
catch (ex) {
alert("Error: " + ex.message);
}
}
請求第1頁:
POST /AuthTest/DefaultWA.aspx HTTP/1.1
Accept: */*
Referer: http://tom/AuthTest/client/testauth.html
Accept-Language: ru
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Host: tom
Content-Length: 7
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: innovator_user=admin
Authorization: Negotiate TlRMTVNTUAADAAAAGAAYAF4AAAAYABgAdgAAAAoACgBIAAAABgAGAFIAAAAGAAYAWAAAAAAAAACOAAAABYKIogUBKAoAAAAPcwBjAGEAbgBkAHQAbwBtAFQATwBNAGUdQIkWMQ6PAAAAAAAAAAAAAAAAAAAAAAo3goJdI7RH9poJwnjypksH2F2pIzbEOQ==
newdata
請求第2頁:
POST /AuthTest/Default.aspx HTTP/1.1
Accept: */*
Referer: http://tom/AuthTest/client/testauth.html
Accept-Language: ru
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Host: tom
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: innovator_user=admin
Authorization: Negotiate TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgKAAAADw==
Content-Length: 0
我認爲這涉及到http://stackoverflow.com/questions/328281/why-content-length-0-in-post-requests – Janning 2011-04-01 13:46:47