spring3.0.5MVC ajax+json 的问题

项目版本: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论坛能少些如此现象。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值