首页 新闻 赞助 找找看

Net MVC POST提交数据或异步请求时如果出现异常,则异常信息提示页面显示乱码,请问怎么解决

0
悬赏园豆:15 [已解决问题] 解决于 2018-11-22 11:01

问题:Net MVC项目,在提交表单数据或者异步请求数据(比如获取验证码)时,如果在请求的Action里抛出异常,则在页面上看到的是乱码显示的异常。
其他备注:
1.在访问视图的Action里如果抛出异常,则异常信息页面上看到的是正常的中文异常信息提示。
2.测试在Chrome浏览器的Preview窗口看到异常信息页面乱码如图所示。
3.测试在火狐浏览器、360极速浏览器、IE浏览器上,看到的乱码提示页面则是空白。
4.以上浏览器均可以在这个窗口显示异常信息页面的html

天堂画家的主页 天堂画家 | 初学一级 | 园豆:164
提问于:2018-11-21 20:58
< >
分享
最佳答案
0

试试在 web.config 中添加如下的配置

<configuration>
  <system.web>
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
  </system.web>
</configuration>
收获园豆:15
dudu | 高人七级 |园豆:31075 | 2018-11-21 22:18

尝试了还是不行,依然会出现那个错误

天堂画家 | 园豆:164 (初学一级) | 2018-11-21 22:26

@天堂画家: 错误信息还是乱码?

dudu | 园豆:31075 (高人七级) | 2018-11-21 22:27

@dudu: 就是那个乱码。只要抛出异常,那么异常信息页面依然看到的是乱码

天堂画家 | 园豆:164 (初学一级) | 2018-11-21 22:28

@天堂画家: 试试把对应的错误视图文件以 utf-8 编码保存

dudu | 园豆:31075 (高人七级) | 2018-11-21 22:30

@dudu: 尝试过仍然不行。而且主要问题在于控制器这个类。只要是post表单提交给控制器里的action,然后在action里引发的异常,那么看到的异常信息里就会有乱码。感觉这种情况很接近这个问题。

天堂画家 | 园豆:164 (初学一级) | 2018-11-21 22:35

@dudu: 普通Get请求访问视图页面,在action里抛出异常没任何问题(图1)。但是在post请求时如果抛出异常,则会显示乱码(图2),并且Response窗口看到的却是正确的html代码(图3)。附截图:

天堂画家 | 园豆:164 (初学一级) | 2018-11-21 22:45

@天堂画家: 建议看一下 post 请求返回的 content-type

dudu | 园豆:31075 (高人七级) | 2018-11-22 10:44

@dudu: 换了低版本Chrome浏览器就没问题了。有可能是浏览器对content-type判断有误,测试了多个浏览器总结是浏览器问题。谢谢解答

天堂画家 | 园豆:164 (初学一级) | 2018-11-22 11:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册