当响应http状态代码设置为某个错误代码时,无法在ie8中看到响应主体(422)

时间:2013-10-30 21:08:47

标签: internet-explorer grails

我正在对一个Web服务进行重新设置,当我注意到一些验证错误时,该服务会发送自定义错误和正确的HTTP标头,这在chrome和mozilla中运行正常,因为事情总是这样,然后它就像ie8一样打破了ie8! 检查网络活动后,我发现当HTTP代码是200(或者至少看起来如此)时,ie8无法获得响应体。

在groovy中我会返回错误,如:

render(status: 422, contentType: 'TEXT', text: ((errors as JSON) as String))

有没有办法让我能够以某种方式获得ie8在响应体中读取,或者作为替代方案我可以设置响应头但在尝试之前我想知道你们是否已经看过这个问题并且知道解决方案它。

谢谢, DEE

1 个答案:

答案 0 :(得分:1)

好的,这很奇怪,我在设置为ie8的兼容模式下使用ie10。在groovy中,我将代码设置为:

render(status: 422, text: (errors as JSON))

现在可以使用了。看起来我们不需要在渲染中使用contentType。我之所以使用contentType的原因是 - 我已经将contentType设置为JSON(因为我的响应是JSON)但是仍然提示我自动下载json响应所以我做了一些挖掘并发现ie8会这样做header设置为application / json,所以我将其更改为TEXT,它处理了烦人的下载提示,我只是坚持使用它。