2016-08-15 102 views
0

我想根據用戶輸入的名字從數據庫接收數據,一切工作正常我看到屏幕上的價值,沒有錯誤這裏是PHP代碼:爲什麼我無法獲取從PHP獲取的對象的屬性?

<?php 
$dbhost = "localhost"; 
$username = "root"; 
$password = ""; 
mysql_connect($dbhost,$username,$password); 
@mysql_select_db("trynew") or die(mysql_error()); 
$user ="mon"; 
$query = "SELECT * FROM trynewtable where name = '$user' "; 
$all_result = array(); 
$result = mysql_query($query); 
if($result==FALSE) 
{ 
    die(mysql_error()); 
} 
while($row = mysql_fetch_assoc($result)) 
{ 
$all_result[] = $row; 
} 
header('Content-Type: application/json'); 
$jsondata = json_encode($all_result);echo $jsondata; 
mysql_close(); 
?> 

JavaScript代碼:

var loadingFunc=function() 
{ 
var xhr; 
if(window.XMLHttpRequest) 
{ 
xhr = new XMLHttpRequest(); 
} 
else 
{ 
xhr = new ActiveXObject('Microsoft.XMLHTTP'); 
} 
var jsonData= ""; 
xhr.onreadystatechange =function() 
{ 
if(xhr.readyState==4) 
{ 
    if(xhr.success =200) 
    { 
     jsonData = xhr.responseText; 
     document.getElementById("dvID").innerHTML = jsonData; 
     //var parsejson = JSON.parse(jsonData); 
     //document.getElementById("dvIDO").innerHTML = parsejson.age; 
     document.getElementById("dvIDO").innerHTML = jsonData[0].age; 
    } 
    else 
    { 
     document.getElementIdById("dvID").innerHTML = "it's not success "; 
    } 
} 
else 
{ 
console.log("error is here"); 
console.log(xhr.readyState); 
} 
} 
var element1 = document.getElementById("dvID") ; 
xhr.open("POST","index.php"); 
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
var sendD = document.getElementById("data_found").value; 
var data = "data_found=" + sendD; 
var element = document.getElementById("btn") ; 
if(element) 
{ 
element.addEventListener('click',function(){ 
console.log("just clicked") 
xhr.send(data); 
}) 
} 
}; 

window.onload = loadingFunc(); 

但我對HTML DIV看到輸出是:

[{ 「ID」: 「1」, 「姓名」: 「星期一」, 「時代」: 「26」, 「性別」: 「F」}]

undefined

我得到的整個對象,但每當我試圖獲取對象的任何屬性像這裏的年齡(parsejson.age或jsonData [0] .age)它顯示undefined,任何人都可以幫助我如何獲取對象的任何屬性?

請讓我知道我做錯了什麼?

+0

這可能是一個'私人'屬性? – Peon

+0

parsejson.Age not parsejson.age – KmasterYC

+1

取消註釋JavaScript中的註釋語句。您正在接收JSON作爲明文 - 因此您必須對其進行PARSE才能獲得具有屬性的JavaScript對象。 –

回答

0

首先將明文響應轉換爲javascript對象。你已經有線,但看起來似乎,然後:

alert(jsonData["Age"]); //Age 
alert(jsonData.Age); //Age 
+0

它被註釋掉,因爲我已經嘗試過了......然後我試着jsonData [0] .age但沒有任何工作 – titlu