我是jQuery的新手。我试图通过AJAX从MySQL获取一些数据。我的PHP返回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 :(得分:2)
将datatype
更改为dataType
。否则jQuery不会识别该选项,也不会为您解析响应。
在您的情况下,data
仍然是一个字符串,您可以使用console.log(typeof data)
进行验证。 data[1]
返回"{"
,"{".text
为undefined
。
查看有关正确选项名称的文档:http://api.jquery.com/jquery.ajax/
或者,你可以parse the response yourself。
(我发布了一个答案,以防止其他误导性答案。它的社区维基因为我投票结束了这个问题。)