AJAX 返回之后页面提示 undefined
该ajax请求一开始条件不满足时返回的值没问题,没想到最后的返回值却出现了页面提示 undefined,实在是没想通。
代码
Map<String, String> map = new HashMap<String, String>();
boolean flg = false;
String msg = "异常错误";
String jsonStr = "";
map.put("result", "false");
map.put("msg", msg);
return JSONObject.toJSONString(map);
每次返回的都是相同的方式,最后却不一致,前边分支返回值都是OK的。下面是前台js。
var data = $("#addForm").serialize();
$.ajax({
url:appServer +"xxx.json",
data:data,
type:"POST",
dataType:"json",
success:function(jsonObj){
if(jsonObj.result=="true"){
alert(jsonObj.msg);
}else{
alert(jsonObj.msg);
}
},
error:function () {
alert("操作异常");
}
});
只能换种方式了
var data = $("#addForm").serialize();
$.ajax({
url:appServer +"xxx.json",
data:data,
type:"POST",
dataType:"json",
success:function(jsonObj){
var obj;
//判断是否是json格式
console.log(typeof jsonObj);
if((typeof jsonObj=='object')&&jsonObj.constructor==Object){
obj=jsonObj;
}else{
obj = eval("("+ jsonObj +")");
}
console.log(typeof obj);
if(obj.result=="true"){
alert(obj.msg);
}else{
alert(obj.msg);
}
},
error:function () {
alert("操作异常");
}
});