2013-10-29 89 views
1

我如何獲得「LSZ09」。如何訪問JavaScript中的JSON數組

var el1=data[0]; 
alert(el1); 

這使我的 「a」 從陣列,如圖1位給我R,2 R,3,4Y,..

陣列被通過接收到「回波json_encode($ punten) ;「

而且當我嘗試

var jsonDataArray = JSON.parse(data); 

我得到一個語法錯誤:

SyntaxError: JSON.parse: unexpected character 

代碼:

$.ajax({ url: 'getPunten.php', 
         data: {statnam: jSelectedStation[0]}, 
         type: 'get', 
         success: function(data) { 

從PHP腳本接收,與去年線是:回聲json_encode($ punten);

[{"STATDEV":"LSZ09 ","0":"LSZ09 ","DEVPKT":"1","1":"1","PKTTYP":"S","2":"S","KARTNR":"0","3":"0","BITNRK":"1","4":"1","BITSTATUS":"0","5":"0","TYPE":"I ","6":"I "},{"STATDEV":"LSZ10 ","0":"LSZ10 ","DEVPKT":"1","1":"1","PKTTYP":"S","2":"S","KARTNR":"0","3":"0","BITNRK":"2","4":"2","BITSTATUS":"0","5":"0","TYPE":"I ","6":"I "} 

PHP:

$db = new PDO ("xxxx"); 
$qry="SELECT r.refnam, r.zustnr FROM refdev r INNER JOIN (SELECT refnam, COUNT(*) cnt FROM refdev rc GROUP BY refnam) rc ON rc.refnam = r.refnam LEFT OUTER JOIN texte t ON r.sigtnr = t.textnr WHERE rc.cnt = $aantal AND t.tstring LIKE '%$tekst%' ORDER BY r.refnam, r.zustnr"; 
$filterQry = $db->query($qry); 
$filtered = $filterQry->fetchAll(); 
echo json_encode($filtered); 
+1

數組的整個轉儲實際上並不是你的代碼的一部分嗎? – Jonathon

+1

此外,顯示您的PHP和JavaScript獨立 – Jonathon

+0

@Jonathon亨德森不,它是從一個PHP腳本收到 – Faarbhurtz

回答

0

如果您已經表明,PHP是你使用的一個,不,這是行不通的。

您會看到,傳遞給javascript的文本包含的結果,兩者均爲var_dumpecho

考慮下面的PHP代碼:

<?php 
    $filtered = array(1,2,3); 
    var_dump($filtered); 
    echo json_encode($filtered);  
?> 

你覺得這樣做的結果是什麼?提示:這不是你所期待的。 你似乎在期待它是

[1,2,3] 

嗯,這是 - 至少部分。這只是最後一行的輸出。但我們並不認爲中間線var_dump($filtered); - 這將類似於你已經標有Received from php script, with last line being: echo json_encode($punten);

我的代碼片段的輸出代碼輸出的東西實際上是代碼:

array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }[1,2,3]

這就是爲什麼你會得到包含'a''r''r''a''y'的前5個元素! 這也是爲什麼電話JSON.parse(data);失敗 - "arrray(3)"是無效的json。

提示:當您使用瀏覽器導航到php腳本時,您看到的內容是使用ajax調用將檢索到的內容。

+0

謝謝,刪除var_dump,現在我得到: [{「STATDEV」:「LSZ09」,「0」:「LSZ09」,「DEVPKT」:「1」,「1」:「1」,「PKTTYP」 : 「S」, 「2」: 「S」, 「KARTNR」: 「0」, 「3」: 「0」, 「BITNRK」: 「1」, 「4」: 「1」, 「BITSTATUS」:」 0「,」5「:」0「,」TYPE「:」I「,」6「:」I「},{」STATDEV「:」LSZ10「,」0「:」LSZ10「,」DEVPKT「 1" , 「1」: 「1」, 「PKTTYP」: 「S」, 「2」: 「S」, 「KARTNR」: 「0」, 「3」: 「0」, 「BITNRK」: 「2」 ,「4」:「2」,「BITSTATUS」:「0」,「5」:「0」,「TYPE」:「I」,「6」:「I」} - **如何訪問?** – Faarbhurtz

+0

'var parsedJson = JSON.parse(data); alert(parsedJson [0] [0]);'_or_'var parsedJson = JSON.parse(data); alert(parsedJson [0] ['0']);' – enhzflep

+0

ggwp你是我的英雄 – Faarbhurtz