0

当我注意到一些验证错误时,我正在向一个 Web 服务发出请求,该服务使用正确的 HTTP 标头发送自定义错误,这在 chrome 和 mozilla 中正常工作,就像往常一样,然后它像往常一样在 ie8 中中断!检查网络活动后,我发现当 HTTP 代码不是 200(或至少看起来如此)时,ie8 无法获取响应正文。

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

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

有没有办法让 ie8 在响应正文中读取,或者作为替代方案,我可以设置响应标头,但在尝试之前我想知道你们是否已经看到这个问题并知道解决方案。

谢谢,迪

4

1 回答 1

1

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

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

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

于 2013-10-31T13:46:17.957 回答