我使用ajax請求(POST方法)提交表單,並檢查響應中的HTTP狀態代碼以查看它是否成功。MSIE爲Ajax請求返回狀態碼1223
它在Firefox上正常工作,但當然不在MSIE-8上。提交實際上工作正常,我可以檢查我的服務器並確認提交工作正常,服務器響應的狀態碼爲204.同樣,firefox正確地向我提供了請求對象的狀態碼204,但IE給出了狀態碼1223.
任何想法如何在MSIE中獲得準確的狀態碼?下面是提交表單並檢查響應的代碼。 (在Windows XP SP3 +在 至少IE 8.0)在MSXML HTTP
var req = new XMLHttpRequest();
req.open("POST", "p.php?i=" + self.__isid, true);
//Send the proper header information along with the request
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.setRequestHeader("Content-length", formdata.length);
req.setRequestHeader("Connection", "close");
req.onreadystatechange = function()
{
if(req.readyState == 4)
{
if(req.status == 204 || req.status == 200)
{
//Success. Update the feed.
self.__postFeed.update();
self.__form.reset();
}
else
{
//TODO: Better error handling.
alert("Error submitting post:\n" + req.responseText);
}
}
}
req.send(formdata);
確實有點多的實驗:如果我有服務器返回的狀態代碼200,那麼MSIE工作正常。但是,如果它是204,它給了我瘋狂的1223狀態。我真的很想堅持204,因爲這是最合適的迴應,所以如果任何人都可以幫助弄清楚如何得到它,我會很感激。 – brianmearns 2012-04-06 14:31:27