ajax请求成功后进不去success,原因是dataType形式设置成了 json,而后台返回的不是标准json格式,所以导致进入error
$.ajax({
url:"${basePath}systemMenuTreeDetial.action?method=saveMenuDetial",
type: "POST",
contentType : 'application/json;charset=utf-8', //设置请求头信息
dataType:"json",
//data: JSON.stringify(productArray), //将Json对象序列化成Json字符串,JSON.stringify()原生态方法
data: JSON.stringify({"MenuTree":productArray,"mfunccode":mfunccode}), //将Json对象序列化成Json字符串,toJSON()需要引用jquery.json.min.js
success: function(res){
if(res == "success"){
// layer.alert('保存成功!', {icon: 6});
toastr.success('保存成功!');
window.location.reload();
}else{
toastr.warning('保存失败!');
}
},
error: function(res){
toastr.warning('保存失败!');
}
});
}
后台返回的是,可以看出并不是很严格的json形式
if (StringUtils.isNotEmpty("mfunccode")) {
// 子菜单树删除和保存
boolean success = systemMenuTreeService.saveVdSystemMenuTreeList(
parentId, list);
if (success) {
AjaxUtils.rendText(response, "success");
} else {
AjaxUtils.rendText(response, "fail");
}
} else {
AjaxUtils.rendText(response, "fail");
}
解决办法是将dataType改成 text,最终成功!