internet-explorer - 将响应http状态代码设置为某些错误代码时,无法在ie8中看到响应正文(422)

标签 internet-explorer grails

我正在对Web服务进行重新设置,当我注意到一些验证错误时,该Web服务会使用适当的HTTP header 发送自定义错误,这在chrome和mozilla中像往常一样正常运行,然后像往常一样在ie8中中断!
在检查了网络 Activity 之后,我发现当HTTP代码不是200时(或者至少看起来是这样),ie8无法获得响应主体。

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

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

有没有一种方法可以使ie8在响应主体中读取,或者作为替代方案,我可以设置响应头,但是在尝试之前,我想知道你们是否已经看到了此问题并知道了解决方案。

谢谢,

最佳答案

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

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

现在就可以了。似乎我们不需要在render中使用contentType。我之所以使用contentType的原因-我已经将contentType设置为JSON(因为我的响应是JSON),但是一直提示我自动下载json响应,所以我做了一些挖掘,发现ie8可以做到这一点 header 设置为application / json,所以我将其更改为TEXT,它处理了讨厌的下载提示内容,而我只是坚持使用它。

关于internet-explorer - 将响应http状态代码设置为某些错误代码时,无法在ie8中看到响应正文(422),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19693837/

相关文章:

grails - 使用数据库列验证 Extjs Grid 列并相应地将行颜色更改为绿色或红色(EXTJS 4.2.1)

javascript - 在 IE 中加载本地 XML

javascript - 查找与 IE6/7/8 不兼容的核心 javascript 调用

javascript - IE 不支持函数生成器

jquery - 在我的 GSP 页面中添加 jquery 库文件

grails - java.lang.LinkageError : loader constraint violation in Grails project

html - 绝对居中的元素在 IE 上变得困惑

html - 主要内容包装器 div 在 IE 中下推页面

postgresql - Grails 3.3.0 与 PostgreSQL 10.1 给出列 this_.id 不存在错误

grails - 数据库中缺少表