Javascript 转换API响应
我正在打一个Ajax电话,得到以下响应:Javascript 转换API响应,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在打一个Ajax电话,得到以下响应: console.log(data); {"valid":true,"when":"Today"} 当我试着读它的时候 var res = data.valid; console.log(res); 它显示未定义的。我试图添加一个条件: if (res==true){ /*code*/ } 实际代码: $.ajax({ "async": true, "crossDomain": true,
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();
}
}
})
});
这里变量数据可能是一个字符串,所以使用json.parse将其解析为json;这样它就会起作用
var data='{valid:true,when:Today}';
var myJSON=JSON.parsedata;
console.logmyJSON;
//这里的数据是一个字符串,所以使用json.parse将其解析为json;
console.logmyJSON.valid;您应该显示实际的代码…@epascarello:check Now看起来您的服务器没有返回JSON内容类型标题。更安全的方法是指定一个数据类型,这样,如果有一天服务器决定返回正确的内容类型,代码就不会停止工作。而且你的评论是错误的//转换成json它已经是json了,这就是问题所在。