Side navigation
#1450 closed bug (fixed)
Opened August 01, 2007 12:53PM UTC
Closed November 29, 2007 05:15PM UTC
Last modified March 14, 2012 03:11AM UTC
IE mangles HTTP response status code 204 to 1223
Reported by: | amartone | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 1.2.2 |
Component: | ajax | Version: | 1.1.3 |
Keywords: | xmlhttprequest IE 204 1223 | Cc: | |
Blocked by: | Blocking: |
Description
I've come across some strange behavior in IE7. Sometimes when an
XmlHttpRequest receives a 204 (No Content) HTTP status code on the
response, IE sets the XmlHttpRequest object's status property to
1223. In my code, this seems to be happening when my server is
returning a 204 from a PUT request - IE seems to be handling the 204
from a DELETE request okay.
Anyhow, jQuery's httpSuccess function is (quite understandably)
interpreting the 1223 response as a failure. I tacked on another
condition to the end of the if statement (line 1939 in jquery-1.1.3.1.js):
jQuery.browser.msie && r.status == 1223
This seems to fix the problem. However, my overall jQuery knowledge
is pretty limited, so I'm not aware of any potential side effects.
A quick Google search turns up a few references to this bug on the
intertubes, but I can't find anything on MSDN (surprise surprise).
Yahoo's toolkit normalizes the 1223 response back to 204 (search for 1223 below):
http://developer.yahoo.com/yui/docs/connection.js.html
Any chance a fix for this can make it into the next version of jQuery?
Attachments (0)
Change History (1)
Changed November 29, 2007 05:15PM UTC by comment:1
milestone: | 1.1.4 → 1.2.2 |
---|---|
resolution: | → fixed |
status: | new → closed |
Fixed in [3977]. Now 1223 status is treated as success. I couldn't write code to normalize the status because jQuery uses the actual XHR object. Also I couldn't reproduce the bug since I don't know exactly what causes it, but I did a fair amount of internet reading and it does appear to be an actual bug so I think the fix is still warrented.