我在函数上执行了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/

10-11 22:15
查看更多