2015-09-27 71 views
0

我有一個PHP腳本,在對其執行ajax調用時輸出JSON關聯數組。 數組中的第一個鍵和值([「status」:「failed」])顯示狀態。 第二個鍵和值([「message」:「Invalid Input」])顯示消息。 所以我需要先運行檢查狀態是否爲「失敗」,如果是,則獲取相應的錯誤消息,反之亦然。如何使用JavaScript從關聯數組中獲取值

問題是如何獲得第二個鍵和值對來獲取消息。

這裏是我利用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

你能'的console.log(數據)'? – aldrin27

+0

將'object'作爲'{status:'失敗',消息:'Invlaid Input'}'迴應'如何?你可以閱讀它像'data.status' – Rayon

+0

@ aldrin27對象{狀態:「失敗」,消息:「無效的服務選擇」} – nadz

回答

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 
    } 
    } 
}); 
+0

謝謝,這是我需要的。 – nadz

+0

**快樂編碼** – Rayon