2017-08-12 110 views
0

我有一個將返回JSON數據作爲輸出的PHP頁面。我將數據作爲AJAX獲取。我想顯示JSON的結果。但是,當我嘗試顯示每個值時,我得到未定義的錯誤。在PHP頁面中顯示JSON數據

對於獲取數據的PHP代碼:

if (isset($_POST['dcqid'])) { 
     $question_id = intval($_POST['dcqid']); 


     if ($question_id != "") { 
      $user_id = $session->id; 
      $questiondetail = getData("dcquestions", "dcqid", "dcqid", $question_id, "", ""); 
      //print_r($questiondetail); 
      echo json_encode($questiondetail); 
      ?> 
     } 
    } 

這是JSON輸出我得到

[{"dcqid":"10","current_id":"3","question":"Another Question","answer":"This is another question","description":"This is the description","date":"2017-08-10 11:55:51","active":"1"}] 

這是我用來顯示數據

<script type="text/javascript"> 
    $(".edit-current").on('click', function (e) { 
     e.preventDefault(); 
     var id = $(this).data('currentid'); 
     alert(id); 
     var url = "<?php SITE_URL ?>admin/" + "admin_edit_current.php"; 
     var info = 'dcqid=' + id; 

     $.ajax({ 
      type: "POST", 
      url: url, 
      data: info, 
      success: function (data) { 
       console.log(data); 
       console.log(data.dcqid); // undefined 

      }, 
      error: function (data) { 
       alert(data.responseText); 
       alert("Error occured in showing details"); 
      } 
     }) 

    }); 
</script> 
的AJAX代碼

我目前越來越未定義我想要顯示的值。

回答

0

1:訪問它像這樣

console.log(data[0].dcqid); 

第二:添加dataType在阿賈克斯

dataType:"json" 

注:你的價值是0th指數內。所以你需要像上面那樣訪問它。

var data =[{"dcqid":"10","current_id":"3","question":"Another Question","answer":"This is another question","description":"This is the description","date":"2017-08-10 11:55:51","active":"1"}]; 
 

 
console.log(data[0].dcqid);

2

及其因爲數據變種是一個數組。是這樣的:

data = [ 
    { 
     dcqid : 123 
    } 
] 

所以儘量使用

console.log(data[0].dcqid)