キーワードから商品情報をjson形式で取得してhtmlに情報を挿入したいのですがうまくいきません。
アドバイス頂ければと思います。
■load.php
<?php
$url = $_GET['request'];
header("Content-type: application/xml; charset=UTF-8");
readfile($url);
?>
■script部
var yahoo = "load.php?request=http://auctions.yahooapis.jp/AuctionWebService/V2/search?appid=○○○&output=xml&order=a&sort=cbids&query=";
$(function() {
var key = "サッカー" //←実際はUTFにエンコードされています
var url = yahoo + key;
$.getJSON(
url,
function(html) {
$("#list").append($(html).find("Title").text());
});
});
■html部
<div id="list"></div>
http://developer.yahoo.co.jp/webapi/auctions/auction/v2/search.html
↑を見ましたが、まず、パラメータを間違ってます。
JSON で取得したいのであれば、output=xml ではなく、output=json です。
JSONP の場合には callback パラメータも必要です。
jQuery.getJSON で使う場合には、callback=? と、コールバック関数名に半角のクエスチョンマークを指定します。
後、JSON 形式のデータでは find は使えないでしょう、きっと。
こんな感じになるはずです。
var yahoo = "load.php?request=http://auctions.yahooapis.jp/AuctionWebService/V2/search?" + "appid=○○○&output=json&callback=?" + "&order=a&sort=cbids&query="; $(function() { var key = "サッカー" //←実際はUTFにエンコードされています var url = yahoo + key; $.getJSON( url, function(data) { var item = data.ResultSet.Result.Item; for (i in item) { $("#list").append("<div>" + item[i].Title + "</div>"); } }); });
URL の部分は、肝心なところが見切れちゃうので改行を入れましたが、一行に書いて大丈夫です。