我通过get-client-logos.php
[{
"name": "One",
"url": "http://localhost/wp-content/uploads/2012/10/random04-128x84.jpg"},
{
"name": "Two",
"url": "http://localhost/wp-content/uploads/2012/10/chuck_norris_random_fact_generator_6_3957_2224_image_2578-128x84.jpg"
}]
我正试图从每个json对象中提取url:
$.getJSON('get-client-logos.php/', function (data) {
var items = [];
$.each(data, function(key, val) {
items.push('<img src ="' + val + '"/>');
});
console.log(items);
});
在console.logging上,我得到以下内容:
["img src ="[object Object]"/", "img src ="[object Object]"/"]
如何返回值而不是typeOf?
答案 0 :(得分:2)
您拥有的是一系列对象,因此$.each
将通过index
和object
。请尝试以下代码。
$.each(data, function(idx, val) {
items.push('<img src ="' + val.url + '"/>');
});
答案 1 :(得分:1)
val
是一个对象,您知道此对象有一个名为url
的键。使用点表示法,您可以从对象中获取值。
$.getJSON('get-client-logos.php/', function (data) {
var items = [];
$.each(data, function(key, val) {
items.push('<img src ="' + val.url + '"/>');
});
console.log(items);
});
具体行是
items.push('<img src ="' + val.url + '"/>');
答案 2 :(得分:1)
JSON包含一个对象数组,因此在each
中,键是数组索引,值是对象。要获得该值,请使用:
items.push('<img src ="' + val.url + '"/>');
答案 3 :(得分:1)
试试这个
尝试val.url
$.each(data, function(key, val) {
items.push('<img src ="' + val.url + '"/>');
});
这里在第一次迭代中,val是一个对象
{"name": "One","url": "http://localhost/wp-content/uploads/2012/10/random04-128x84.jpg"}
您需要url
这里..所以使用val.url
或val["url"]
可以解决问题..
答案 4 :(得分:1)
数组包含对象,需要获取对象的url属性
$.getJSON('get-client-logos.php/', function (data) {
var items = [];
$.each(data, function(key, val) {
items.push('<img src ="' + val.url + '"/>');
});
console.log(items);
});