我想根據用戶輸入的名字從數據庫接收數據,一切工作正常我看到屏幕上的價值,沒有錯誤這裏是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,任何人都可以幫助我如何獲取對象的任何屬性?
請讓我知道我做錯了什麼?
這可能是一個'私人'屬性? – Peon
parsejson.Age not parsejson.age – KmasterYC
取消註釋JavaScript中的註釋語句。您正在接收JSON作爲明文 - 因此您必須對其進行PARSE才能獲得具有屬性的JavaScript對象。 –