Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Jquery+;wordpress_Jquery_Json_Ajax_Wordpress - Fatal编程技术网

如何在Jquery+;wordpress

如何在Jquery+;wordpress,jquery,json,ajax,wordpress,Jquery,Json,Ajax,Wordpress,我从json获取以下数据 返回数据: { "items": [{ "name": "abc", "meta_value": "3020" }, { "name": "xyz", "meta_value": "3020" }] } 我用它来编码数据echo json_encode(数组('items'=>$data)) 下面是对json中的数据进行解码和打印,但给出的错误是 “未捕获的TypeError:无法

我从json获取以下数据

返回数据:

{
    "items": [{
        "name": "abc",
        "meta_value": "3020"
    }, {
        "name": "xyz",
        "meta_value": "3020"
    }]
}
我用它来编码数据
echo json_encode(数组('items'=>$data))

下面是对json中的数据进行解码和打印,但给出的错误是

“未捕获的TypeError:无法读取未定义的属性'length'”

$。每个(数据项、函数(i、项){
$('#dobsondev ajax table').append(''+data.name+''+data.name+''+data.meta_value+''+data.name+'');
});

不能使用
[0]
直接调用数组中的第一项。您必须做的第一件事是从返回的数据中检索项目,如下所示:

var items = data["items"];
var item = items[0];
这将为您提供返回数据的两个item对象。从中可以检索两个项对象,如下所示:

var items = data["items"];
var item = items[0];
或在循环中:

$.each(items, function(i, item) {
    // Your code
}

不能使用
[0]
直接调用数组中的第一项。您必须做的第一件事是从返回的数据中检索项目,如下所示:

var items = data["items"];
var item = items[0];
这将为您提供返回数据的两个item对象。从中可以检索两个项对象,如下所示:

var items = data["items"];
var item = items[0];
或在循环中:

$.each(items, function(i, item) {
    // Your code
}

试试这个。您可以在函数的循环中使用
item
参数,也可以尝试
data.items[i]

$.each(data.items, function(i, item) {
    $('#dobsondev-ajax-table').append('<tr><td>' + item.name + '</td><td>' + item.name + '</td><td>' + item.meta_value + '</td><td>' + item.name + '</td></tr>');
    //alert(this.name);
});
$。每个(数据项、函数(i、项){
$('#dobsondev ajax table').append(''+item.name+''+item.name+''+item.meta_value+''+item.name+'');
//警报(此名称);
});

试试这个。您可以在函数的循环中使用
item
参数,也可以尝试
data.items[i]

$.each(data.items, function(i, item) {
    $('#dobsondev-ajax-table').append('<tr><td>' + item.name + '</td><td>' + item.name + '</td><td>' + item.meta_value + '</td><td>' + item.name + '</td></tr>');
    //alert(this.name);
});
$。每个(数据项、函数(i、项){
$('#dobsondev ajax table').append(''+item.name+''+item.name+''+item.meta_value+''+item.name+'');
//警报(此名称);
});

您提供的错误看起来与您添加的代码无关。如果我从数据库返回单行代码,并使用json_encode对其进行编码,则它是正常的,并正确显示数据,即使我使用类似于此数据的索引[0]。如果我不将其放入循环中,则命名它显示数据。您提供的错误看起来与您添加的代码无关。如果我从数据库返回单行并使用json_encode对其进行编码,则它可以正确显示数据,即使我使用类似此数据的索引[0]。如果我不将其放入循环中,则命名它显示数据。我使用此数据=json.parse(data);然后尝试$.each(data.items,function(i,item){item.name});这应该可以工作。请参阅此链接:我使用此data=JSON.parse(data);然后尝试$.each(data.items,function(i,item){item.name});应该可以。请参阅此链接:@coder我认为您需要再进行一些调试,并找到错误所在的行。实际上,当我将其放入循环时,这会产生错误,否则就可以了,并显示给定索引的单行,没有循环,我像data[index]一样尝试了它.name然后它就工作了,@coder我想你需要再做一点调试,找出错误是哪一行。实际上,当我把它放在循环中时,它会出错,否则它就可以了,并且为给定的索引显示单行,没有循环,我像data[index]一样尝试了。name然后它就工作了,