我使用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