1

カスタムワードプレス投稿タイプから次のようにエコーされています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 の代わりにどのように値を返しますか?

4

5 に答える 5

2

あなたが持っているのはオブジェクトの配列なので、$.eachはとを渡します..以下のコードを試してくださいindexobject

$.each(data, function(idx, val) {
 items.push('<img src ="' + val.url + '"/>');
});
于 2012-10-22T19:19:56.357 に答える
1

JSONにはオブジェクトの配列が含まれているため、eachでは、キーは配列インデックスであり、値はオブジェクトです。値を取得するには、次を使用します。

items.push('<img src ="' + val.url + '"/>');
于 2012-10-22T19:20:11.490 に答える
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.urlOrを使用val["url"]すると問題が解決するはずです。

于 2012-10-22T19:20:14.587 に答える
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);
});
于 2012-10-22T19:20:26.510 に答える
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 + '"/>');
于 2012-10-22T19:19:42.723 に答える