IE中奇怪的status code 1223
我要留言又是IE,为什么老是你?今天处理一个IE和firefox不兼容的问题,最后的原因是因为IE的一个奇怪的HTTP status code 1223.原来,IE会将HTTP的204(No Content)转换成它内部的status code 1223,就会产生这个问题。本来期望dojo能屏蔽这个问题,但是看来它并没有按照期望的方式进行处理。status code还是1223返回,并且作为error来抛给Error callback给处理。
解决的办法可以是在error的时候去判断处理:(感觉不是很好)
1 2 3 4 5 6 7 | error:function(err, ioArgs){ if(dojo.isIE&&ioArgs.xhr.status==1223){ //do something }else{ //handle error } } |
Some links:
http://vegdave.wordpress.com/2007/11/05/1223-status-code-in-ie/
http://trac.dojotoolkit.org/ticket/2418
https://groups.google.com/group/jquery-en/browse_thread/thread/8136195c67c9819b
给dojo打了一个patch。
http://www.projectzero.org/bugzilla/attachment.cgi?id=415&action=diff