我对ajax成功数据参数提出疑问。 有两个ajax请求和相应的控制器方法,两个控制器方法都将json字符串返回给成功函数,在ajax中,我将两个dataType都设置为'json',所以我猜它们是完全相同的。但是其中一个返回作为Json String,这意味着我必须首先将其解析为对象,另一个是直接解析为Json对象。对此我感到困惑。非常感谢!
我将它们记录在控制台中,请参见代码。前三个显示ajax1以及相应的控制台和控制器,最后三个显示ajax2相同。
ajax
oldpassword.on("blur",function(){
$.ajax({
type:"GET",
url:path+"/sys/user/checkPass",
data:{method:"pwdmodify",oldpassword:oldpassword.val()},
dataType:"json",
success:function(data){
//this one is json object directly
console.log(data);
console.log(typeof(data));
console.log(data.result+"*****");
if(data.result == "true"){
在cotroller中
resultHashMap.put("result", "true");
return JSONArray.toJSONString(resultHashMap);
在控制台中
{result: "true"}result: "true"__proto__: Object
object
true*****
ajax2
$.ajax({
type:"GET",
url:path+"/sys/user/userdelete.html",
data:{method:"deluser",uid:obj.attr("userid")},
dataType:"json",
success:function(data){
//receive as Json String
console.log(data);
console.log(typeof(data));
console.log(data.result+"*****");
data = eval("(" + data + ")");
if(data.delResult == "true"){
在cotroller中
boolean result=userService.deleteUserById(id);
if (result) {
resultHashMap.put("delResult", "true");
return JSONArray.toJSONString(resultHashMap);
}
在控制台中
{"delResult":"true"}
string
undefined*****