springMVC下ajax获取后台参数直接走错误或者报406错误问题解决

直接走错误:

  返回的结果是否json化,直接返回非字符串的结果会走ajax的error函数。

报406错误:

  我在学习springmvc过程中(我的项目是配置的后缀是.html),从controller返回对象。

  如果我不使用 mvc-annotation-driver,而是手动配置,AnnotationMethodHandlerAdapter,然后在配置MappingJackson2HttpMessageConverter转换器,这样是可以正常将对象返回成json的。

  但是我使用mvc-annotation-deiver,让spring帮我们注册AnnotationMethodHandlerAdapter,然后在配置MappingJackson2HttpMessageConverter转换器,这样返回对象,就会出现406错误。试了很久都没有找到解决办法,后来在网上搜索了,发现很多答案并不是适用于我这种样子的错误,后来找到下面的这个答案,发现真的有效,我将返回后缀.html改为了.shtml就正常了。

  总结下:其实说简单点,真正原因就是,如果配置后缀是.html ,springmvc默认会采用[text/html]编码。所以,后缀使用别的后缀或者,不用后缀就可以了。

原文地址:https://www.cnblogs.com/super-chao/p/8258097.html