开发者

ASP.NET MVC jQuery ajax call returns status code -504 instead of 5xx on Safari 4

My MVC controllers return 5xx status codes to indicate errors when called using jQuery ajax. This works great on IE8 and Firefox.

Howe开发者_开发百科ver, on my copy of Safari 4.0.5 running on Vista, this breaks. It looks like Safari is translating my 5xx status codes to -504.

Successful ajax calls work fine, and I've already tried uninstalling and reinstalling Safari.

Does anyone know what this status code means? I couldn't find any references to it online.


We encountered this problem at our workplace. Based on our testing, it seems that Safari only allocates 9 bits for the status field in the xmlhttpresponse. This means that HTTP status 599 gets converted to -425 because the bit patterns are the same:

0000 0010 0101 0111  599
1111 1110 0101 0111 -425

So stick to error codes less than 512 and it should work.


I keep having the same problem. I tried increasing the max request length in the web.config and it didn't help.

<httpRuntime maxRequestLength="60240"/>

The only thing that seems to get it to work is to shrink the size of the request. It happens because the header information is too large. This isn't a viable solution for me so I'm still looking into a permanent fix.

You can mess around with the header size in fiddler and see what i'm talking about.

I HAVE FIXED THE PROBLEM!!!! I was having an unrelated problem with my computer overheating and it was being caused by avg ~13 processes running in the back ground. I uninstalled AVG and installed windows security essentials and not it works.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜