spring3.0.5MVC ajax+json 的问题

来源:互联网 发布:c语言编程题库 编辑:程序博客网 时间:2024/05/18 01:06

项目版本:spring3.0.5MVC。


在前端时间的项目开发中,遇到了Ajax请求传回json数据时总报406错误。

由于,码猿第一时间就是百度(当然想谷歌来着,可尼玛这堵墙最近和谐力度太大),我也不例外,也可以进行百度。一查,哎哟,这尼玛靠谱哎,好多码农都遇到了本屌是一样的错误。心中顿时暗爽(原谅屌丝我的这点小心态),看来我不是那该死第一个出现这个错误的人。由于码农屌丝我就开启了扫页模式,基本一致的解决方法是:把springMVC的版本改成spring3.1.X MVC。

在这里我不得不吐槽一下中国的IT论坛,都是尼玛复制黏贴,难怪山寨能力如此出众的中国人,创新能力几乎为零(一大波喷尸正在接近。。。)。


好了,吐槽吐完了,改说说正经事了,不然又有一些优越感十足的人要喷屌丝我了。


首先你要传回json的数据格式,那么必须得对spring的配置文件进行一定配置,如下:

  <!-- 启动spring注解功能,完成请求和注解的POJO映射 -->    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">    <!-- 配置一下对json数据的转换 -->          <property name="messageConverters">              <list>                  <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>              </list>          </property>    </bean>

配置文件完成,在后台处理那块也必须要注意的地方,就是必须有@ResponseBody ,具体如下:


//异步查询客户信息@RequestMapping(value="project/customerList",method = RequestMethod.POST)@ResponseBody public List<Customer> customerList(String customerid){System.out.println(customerid);List<Customer> customerList=projectService.customerList();    return customerList; }

在然后就是页面请求的方法了,本屌丝用的是jQuery的第三方插件,方法如下:

function onChange(idFlag){ $.ajax( {   type: "POST",           url : 'customerList.bia',                data: 'customerid='+idFlag+'',        success : function(data) {                alert(data);         },          error : function() {            alert("系统报错,稍后重试!");          }         }); }

处理结果,如下图所示:





最后得出结论就是:当Ajax请求json数据时,并且springMVC的版本是3.0.X时,不一定非得改版本。我也是看到咱们这些论坛的那些回复很气愤,决定写出来,以防止更多的码农被“复制黏贴”所祸害。再次也希望中国IT论坛能少些如此现象。


0 0
原创粉丝点击