ajax跨域请求springmvc传递json对象参数

1、ajax必须要设置dataType、contentType,data必须要用JSON.stringify进行json格式化,如下所示:

$.ajax({
type:"POST",
url : "具体的url",
contentType : 'application/json',
dataType:"json",
data:JSON.stringify({
loginId:"cnq",
password:"sz123456"
}),
cache:false,
async:true,
success:function(msg) 
{

},
error:function()
{

}
});

注意:loginId和password对应的是实体对象的属性

2、必须要解决springmvc的跨域访问的问题,我本人使用的是添加filter,在filter里面进行解决跨域,如下图所示:

response.setHeader("Access-Control-Allow-Origin","*");

3、在springmvc的访问方法里面的参数使用@RequestBody进行修饰实体类对象,所下图所示:

@RequestBody CentreUser user

4、最重要的一步,这个是我找了一天的答案,要不然访问有问题,经常出现451的错误,在配置文件中配置,如下图所示:

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
    <property name="messageConverters">  
        <list>  
            <ref bean="jsonHttpMessageConverter" />  
        </list>  
    </property>  
</bean>  
<bean id="jsonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
    <property name="supportedMediaTypes">  
        <list>  
            <value>application/json;charset=UTF-8</value>  
        </list>  
    </property>  
</bean> 

这是spring4的配置方式,spring3或者其它版本参考其它配置。


以上就是本人的解决该问题的方式,若有错误,欢迎指出,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值