Tôi đang gửi biểu mẫu bằng cách sử dụng yêu cầu ajax (phương thức POST) và kiểm tra mã trạng thái HTTP trên phản hồi để xem nó có thành công hay không.MSIE Trả về mã trạng thái 1223 cho Ajax Request
Nó hoạt động tốt trên Firefox, nhưng tất nhiên không có trên MSIE-8. Việc gửi thực sự hoạt động tốt, tôi có thể kiểm tra máy chủ của mình và xác nhận rằng quá trình gửi đã hoạt động và máy chủ trả lời bằng mã trạng thái là 204. Một lần nữa, firefox cung cấp cho tôi mã trạng thái 204 từ đối tượng yêu cầu, nhưng IE cung cấp mã trạng thái của 1223.
Bất kỳ ý tưởng nào về cách tôi có thể nhận được mã trạng thái chính xác trong MSIE? Mã gửi biểu mẫu và kiểm tra phản hồi bên dưới.
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);
Đã làm một chút thử nghiệm nhiều hơn: nếu tôi có máy chủ trả về một mã trạng thái của 200, sau đó MSIE hoạt động tốt. Nhưng nếu đó là 204, nó mang lại cho tôi trạng thái điên rồ 1223. Tôi thực sự muốn gắn bó với 204 bởi vì đó là câu trả lời thích hợp nhất, vì vậy nếu bất cứ ai có thể giúp tìm ra cách để có được điều đó, tôi sẽ đánh giá cao nó. – brianmearns