今天在寫代碼的時候發現一個小問題,ajax請求後臺返回“SUCCESS”到前臺時,前臺判斷時爲false,即msg == “SUCCESS” 返回false,代碼如下:
後臺Java代碼
@RequestMapping(value="save_info")
@ResponseBody
public String modifyInfo(HttpServletRequest request,ModelMap modelMap) {
String mString = "";
try {
... ...
int num = expertorsServices.updateExpertors(expertors);
if (num == 1)
mString = "SUCCESS";//修改成功返回SUCCESS
else
mString = "FAIL";//修改失敗,返回FAIL
} catch (Exception e) {
e.printStackTrace();
mString = "FAIL";
}
// System.out.println(mString);
return mString;
}
前臺ajax請求
var zname = $("#zname").val();
var zsex = $("#zsex[name='zsex']:checked").val();
var zdanwname = $("#zdanwname").val();
var ztelphone = $("#ztelphone").val();
var zhiwei = $("#zhiwei").val();
var zhichen = $("#zhichen").val();
$.ajax({
type:"post",
dataType:"text",
data:{"zname":zname,
"zsex":zsex,
"zdanwname":zdanwname,
"ztelphone":ztelphone,
"zhiwei":zhiwei,
"zhichen":zhichen
},
url:"save_info.dx",
success:function(msg){
if(msg == "SUCCESS"){//注意這個地方的返回值爲false
layer.alert('修改成功!',{
title: '提示框',
icon:1,
});
}else{
layer.alert('修改失敗!',{
title: '提示框',
icon:1,
});
}
},
error:function(){
layer.msg(msg,{icon: 6,time:1000});
}
});
沒有找到原因,最終請教同事,在js代碼註釋的那行判斷條件修改爲
eval(msg) == "SUCCESS" 問題解決,記錄一下,避免下次跳坑