1.源代码:
前端js代码:
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath }/empController/test",
contentType:"application/json;charset=utf-8", //发送信息至服务器时内容编码类型。
data:'{"ename":"tom"}',
dataType:'json',
success:function(data){
alert("保存....");
},
error:function(data) {
alert("失败...");
}
});
后端返回数据的样式:
return "{success:true}";
2.原因分析:
返回数据格式不规范.当dataType指定为json后,1.4+以上的jquery版本对json格式要求更加严格.如果不是严格的json格式,就不能正常执行success回调函数.
JSON格式总结下,详细的去json.org 查看。
1)键名称:用双引号 括起
2)字符串:用使用双引号 括起
3)数字,布尔类型不需要 使用双引号 括起
3.解决方案:
return "{'success':true}";
4.参考文章:
[1] ajax不执行success回调而是执行了error回调