一次Web请求返回406原因与解决方案

ajax请求,响应信息返回的却是报错406,。

1、断点调试,进入对应处理方法,且得到正确信息返回到解析器。使用的是ssm,前端ftl

2、js将返回错误信息打出来,类似为:

百度406错误出现的原因,参考博文:https://blog.csdn.net/lkwan123/article/details/73385025

 于是知道原因大概是我的响应类型指定给解析器或浏览器的与实际响应类型不一致。

查看我的方法上面的RequestMapping等注解,大概如下:

@RequestMapping(value="", produces="text/html")

@ResponseBody

public Map doMethod(){...}

问题就出在这里,我这个@ResponseBody就限定了返回的是json串,正常的produces应该是“application/json”,但是浏览器得到的是text/html,因此解析失败,406错误。

有关于@RequestMapping各个属性意义,参考博文:https://blog.csdn.net/x_iya/article/details/77451559

这里的错误图是网上扣的,可能有一些差别,因为同事发生的错误。

原文地址:https://www.cnblogs.com/aigeileshei/p/9994130.html