2014-09-24 84 views
1

我是jQuery的新手。我試圖通過AJAX從MySQL獲取一些數據。我的PHP返回JSON。這是響應(不介意變量名稱,可在捷克:)):從jQuery中的AJAX對象訪問JSON

[{"nadpis":"Testovac\u00ed nadpis","text":"Testovac\u00ed \u010dl\u00e1nek o tom jak se zase prohr\u00e1lo","sestava":"Nikdo nehr\u00e1l"},{"nadpis":"Druhej nadpis","text":"Druhej text","sestava":"druh\u00e1 sestava"}] 

這裏是我的jQuery函數:

$.ajax({ type: 'GET', 
       url: 'db.php', 
       datatype:'json', 
       success : function(data) 
       { console.log(data[1].text); 
        console.log(data); 
       } 
     }); 

的問題是,當我想訪問數據[ 1] .text,它只返回undefined。在StackOverflow和其他論壇上,我經歷了很多答案,但我仍然無法完成工作。

+0

如果這是你的回報'秒'數組,那麼它只是'數據[1] ['text']' – Ohgodwhy 2014-09-24 20:25:41

+0

@Ohgodwhy與OP之間沒有有效的區別。 – Pointy 2014-09-24 20:26:20

+0

是的,這是非常真實的。因此,進一步下注的問題是,「數據」的結構看起來像什麼 – Ohgodwhy 2014-09-24 20:26:51

回答

2

更改datatypedataType。否則,jQuery不會識別該選項,也不會爲您解析響應。

在你的情況下,data仍然是一個字符串,你可以用console.log(typeof data)驗證。 返回"{","{".textundefined

看一看文檔的正確選項名稱:http://api.jquery.com/jquery.ajax/


或者,你可以parse the response yourself

(我張貼的答案,以防止其他誤導的答案。這是社會的維基,因爲我投票決定關閉的問題。)

+0

謝謝。)它現在有效。這樣一個愚蠢的錯誤。我花了半天的時間來解決這個問題,我需要的只是大寫字母T:D – andrle 2014-09-24 20:34:46