我有一个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;
}
答案 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
}
}
});