0

この API からの解析に問題があります。私が何をしたか分かりますか?

PHP カール コール:

// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
$options = array(CURLOPT_URL => 'http://api.remix.bestbuy.com/v1/products(salePrice<='.$dollars.'&type=Music)?apiKey=gzunxsecretsdssf444&format=json&show=name,salePrice,shortDescription,image',
                 CURLOPT_HEADER => false,
                 CURLOPT_RETURNTRANSFER => 1
                );

curl_setopt_array($ch, $options);

// grab URL and pass it to the browser
echo curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch); 

js:

$.ajax({
           url: "./file.php",
           type: 'GET',
            dataType: 'JSON',
           success: function (data) {
                console.log("Success");
                console.log(data);
                for(var i=0;i<=data.products.length;i++)
                {
                    var thumb=data.products[i].image;
                    $('<div class="product" style="background-color:green"><a href=""><img src="'+ thumb +'" alt""/></a></div>').appendTo('#find_stuff_div');
                }
            }
           });

var thumb=data.products[i].image; 困っているところです。オブジェクト自体は (明らかに json として) ログに記録しますが、var thumb は "Uncaught TypeError: Cannot read property 'image' of undefined " を返します。何か案は?

コンソールログ コンソール

4

2 に答える 2

0

JSON.parse()オブジェクトとして使用するには、返されたデータを呼び出す必要があります。

于 2013-03-21T02:56:26.587 に答える
0

申し訳ありませんが、for ループが間違っています

for(var i=0;i<data.products.length;i++)

配列インデックスは から0に始まるlength - 1ので、条件はそうであってはなりi<data.products.lengthませんi<=data.products.length

于 2013-03-21T03:18:24.260 に答える