我在函数上执行了ajax调用
js部分
_this.ajaxPost(appUrl + "reports/appointment/save", post_str, function(response) {
var res = eval("(" + response + ")");
if (!res.error) {
var data = res.msg;
} else {
if (res.status == "error") {
_this.showPopMsg("error", 'Error when updating db ', res.msg);
}
}
}, function(response) {
alert(response);
var res = eval("(" + response + ")");
_this.showPopMsg("error", 'Updating DB', res.msg);
});
PHP的一部分
echo json_encode(array("error"=> false, "status"=>"success", "msg"=>$conditions['reg']->result()));
返回的响应是
{"error":false,"status":"success","msg":[{"name":"dreamhunter","mob_num":"9876543210","email":"afl@thnfgd"}]}
我正在尝试使用js提取味精部分,味精部分包含一个数组
[{"name":"dream hunter","mob_num":"9876543210","email":"afl@thnfgd"}]
这里的名称,mob-num和电子邮件是密钥,我正在尝试提取它们的值
我试过了
var res = eval("(" + response + ")");
var data = res.msg;
alert(data[name]);//which is the first key
这是行不通的。我该如何提取呢?
最佳答案
假设您有以下回应:
var x = '{"error":false,"status":"success","msg":[{"name":"dreamhunter","mob_num":"9876543210","email":"afl@thnfgd"}]}'
使用JSON.Parse可以提取对象:
var y = JSON.parse(x);
现在您有一个像这样的对象:
{
error:false,
msg: [{
email: "afl@thnfgd"
mob_num: "9876543210"
name: "dreamhunter"
}],
status:"success"
}
要访问第一条消息的属性,例如
email
,您可以执行以下操作:console.log(y.msg[0].email);
var x = '{"error":false,"status":"success","msg":[{"name":"dreamhunter","mob_num":"9876543210","email":"afl@thnfgd"}]}'
var y = JSON.parse(x);
console.log('msg[0].email: ', y.msg[0].email);
关于javascript - 如何使用js从ajax调用中提取响应?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41610375/