我正在进行Ajax调用并获得此响应:
console.log(data);
{"valid":true,"when":"Today"}
当我尝试阅读时,
var res = data.valid;
console.log(res);
它显示未定义。我想添加一个条件:
if (res==true){
/*code*/
}
实际代码:
$.ajax({
"async": true,
"crossDomain": true,
"url": url,
"method": "POST",
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form,
success: function(data){
console.log(data); // {"valid":true,"when":"Today"}
var res = data.valid;
console.log(res); // Undefined
if (res==true){
$("p").addClass("test");
$("#callForm").hide();
$("#buttonClick").hide();
$("#success").show();
}
}
})
});
答案 0 :(得分:0)
此处变量data
可能是一个字符串,因此使用json
将其解析为JSON.parse();
,以便它可以正常工作。
var data='{"valid":true,"when":"Today"}';
var myJSON = JSON.parse(data);
console.log(myJSON);
//Here Data is a string so parse it to json using JSON.parse();
console.log(myJSON.valid);
完整代码如下所示。
$.ajax({
"async": true,
"crossDomain": true,
"url": url,
"method": "POST",
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form,
success: function(Data){
console.log(Data); //{"valid":true,"when":"Today"}
var data=JSON.parse(Data);//convert into json
var res = data.valid;
console.log(res); //undefiend
if(res==true){
$("p").addClass("test");
$("#callForm").hide();
$("#buttonClick").hide();
$("#success").show();
}
}
})
});
试试这个。现在它会起作用。