ajax回调函数有时成功有时失败,$.ajax数据传输成功却执行失败的回调函数

这个问题迷惑了我好几天,都快要放弃了,功夫不负有心人,最终成功解决,下面写一下我的解决方法。

我传的数据是json类型的,执行失败的回调函数是因为从后台传过来的数据不是严格的json类型,所以才会不执行成功的回调函数。

下面贴一下我的代码

Controller

@RequestMapping(value="/reg")

@ResponseBody

public MapRegister(User user) throws IOException{

Map map = new HashMap();

boolean isSuccess = userService.Register(user);

if(isSuccess){

map.put("tip", "success");

}

else{

map.put("tip", "error");

}

return map;

}

jsp

$.ajax({

type:‘POST‘,

data: {"email":email,"password":password,"type":type},

url:‘user/reg‘,

async:false,

dataType: ‘json‘,

success:function(response){

alert(response.tip);

$(form).find(":submit").attr("disabled", false);

},

error:function(response){

alert(response.tip);

$(form).find(":submit").attr("disabled", false);

}

});

[email protected],该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

[email protected],将业务方法的返回值做成json输出给页面

除了一些spring的包之外,还需要jackson-annotations.jar , jackson-core.jar , jackson-databind.jar 这三个包

com.fasterxml.jackson.core

jackson-databind

2.5.4

com.fasterxml.jackson.core

jackson-core

2.5.4

com.fasterxml.jackson.core

jackson-annotations

2.5.4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值