2013-01-19 37 views
1

可能重複:
I have a nested data structure/JSON, how can I access a specific value?如何使用JSON陣列中的JavaScript

我有一個JavaScript其中做了XMLHTTP請求到一個php文件,這反過來又查詢一個MySQL表和返回一個JSON數組...但不知何故,我無法訪問數組中的單個元素。 這裏是JavaScript:

<script type="text/javascript"> 
function show(){ 
    if(window.XMLHttpRequest){ 
     xmlhttp=new XMLHttpRequest(); 
    } 
    xmlhttp.onreadystatechange= function() { 
     if(xmlhttp.readyState==4 && xmlhttp.status==200){ 

      var response= new Array(); 
      response=xmlhttp.response; 
      alert(response); 
     } 
    } 
    xmlhttp.open('GET','test.php', true); 
    xmlhttp.send(); 

} 
</script> 

,這是PHP腳本:

mysql_select_db('testpolaroid') or die ('Unable to select database!'); 
$query = 'SELECT * FROM images'; 
$result = mysql_query($query) or die ('Error in query: $query. ' . mysql_error()); 
if(mysql_num_rows($result) > 0) 
{ 
    $row = mysql_fetch_assoc($result); 
    echo json_encode($json); 
} 

的響應,我得到的是:

{"imageid":"11","location":"11.jpg"} 
+2

歡迎來到Stack Overflow! [**在新的代碼,請不要使用'mysql_ *'功能**](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 –

+0

'在javascript' JSON數組似乎有點冗餘爲JSON意味着'JavaScript對象notation'。 –

+0

@NomikOS它不是多餘的。 JSON是一種數據格式(如XML),它需要被解析(如使用XML解析器)可用於它的內容之前。 –

回答

3

您需要與JSON.parse第一解析JSON ,代碼是這樣:

var response = JSON.parse(xmlhttp.responseText); 
var imageid = response["imageid"];