我成功(测试)调用了一个php脚本的ajax请求。这是我需要工作的代码部分:
success: function (response, status) {
$.each(response, function (i, item) {
alert(item.id);
item.id只是......没什么。
这是php页面生成的--json_encoded数组:
[
{
"conto": "1"
},
{
"id": "4",
"activity_id": "50",
"path": "Testo/base.png",
"title": "Ffgf",
"descrizione": "Tttt"
},
{
"id": "8",
"activity_id": "50",
"path": "Testo/61FCFUX_IMG_0536.PNG",
"title": "Hggggg",
"descrizione": "Tgg"
}
]
我做错了什么?
p.s:如果你注意到,这是两个数组之间的数组合并:第一个只报告“conto”,另一个是通过数据库提取元素生成的列表。
答案 0 :(得分:1)
您的第一个数组不包含id,因此您获得了未定义的值。跳过第一个数组:
$.each(response, function (i, item) {
if(i==0)
{
alert(item.costo);
}
else
{
alert(item.id);
//Or better to use console
console.log(item.id);
}
});
答案 1 :(得分:-1)
我相信您的问题与您的参考有关。由于您的JSON对象包含一个数组,因此您需要使用下标来引用它。尝试将item.id更改为item [i] .id。这样,当每个函数遍历数组时,它可以引用每个对象中的id字段。
编辑:这是工作代码。
$(document).ready(function (){
var source = '[{"conto":"1"},{"id":"4","activity_id":"50","path":"Testo\/base.png","title":"Ffgf","descrizione":"Tttt"},{"id":"8","activity_id":"50","path":"Testo\/61FCFUX_IMG_0536.PNG","title":"Hggggg","descrizione":"Tgg"}]';
source = JSON.parse(source);
var cellcount = length(source);
for(var i = 0; i < cellcount; i++){
console.log(source[i].id);
}
});
function length(obj) {
return Object.keys(obj).length;
}