如何使用Javascript从关联数组中获取值

时间:2015-09-27 03:26:16

标签: javascript php arrays ajax

我有一个PHP脚本,在对它进行ajax调用时输出JSON关联数组。 数组中的第一个键和值([“status”:“failed”])显示状态。 第二个键和值([“message”:“Invalid Input”])显示消息。 所以我需要首先检查状态是否“失败”,如果是,则获取相应的错误消息,反之亦然。

问题是如何获取第二个键和值对来获取消息。

这是我正在使用的JavaScript:

            var frmdata = new FormData($('#order-form')[0]);        
            $.ajax({
                type: "POST",
                dataType: "json",
                url: 'classes/validate.php',
                cache: false,
                contentType: false,
                processData: false,   
                data: frmdata,
                success: function(data) {
                    $.each( data, function( key, value ) {
                        if (key == "status") {
                            if (value == "failed") {

                            } else if (value == "success") {

                            }
                        }
                    });
                }
            }); 

这是PHP脚本;

    public function outputJSON($status, $message)
    {
        $this->json_output["status"] = $status;
        $this->json_output["message"] = $message;
        $json = json_encode($this->json_output, true);
        return $json;
    }

1 个答案:

答案 0 :(得分:1)

试试这个:

public function outputJSON($status, $message) {
  $json = json_encode(array('status'=>$status,'message'=>$message));
  return $json;
}
var frmdata = new FormData($('#order-form')[0]);
$.ajax({
  type: "POST",
  dataType: "json",
  url: 'classes/validate.php',
  cache: false,
  contentType: false,
  processData: false,
  data: frmdata,
  success: function(data) {
    if (data.status === 'failed') {
      alert(data.message);
    } else {
      //data.status is success
    }
  }
});