2

Google のフィード ローダーは、JSON への変換時に属性を無視しているようです。jQuery を使用して、AJAX 経由でフィードを取得しています。実際の RSS XML フィードはここで見ることができ、AJAX 呼び出しからの応答はここで見ることができます

タグのurl属性にアクセスする必要がありますが、どちらも応答に表示されません。<enclosure>

参考までに、私が使用しているコードは次のとおりです。

function getFeed(url) {
    url = 'http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' 
            + encodeURIComponent(url);
    $.ajax({
        type: 'GET',
        url: url,
        dataType: 'jsonp',
        cache: false,
        success: function(d) { alert(JSON.stringify(d); },
        error: function(s,x) { alert(x); }
    }); 
}

dataType : 'xml'変更すると HTTP エラーが発生するため、代わりに XML 応答を取得する方法がわかりません。JSON が望ましいです。

何か案は?

4

1 に答える 1

7

「enclosure」タグは JSON 応答に含まれていないため、出力引数を設定する 2 つのオプションがあります。

出力を「XML」に設定する必要があります: https://developers.google.com/feed/v1/jsondevguide#json_args

url = 'http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&output=xml&num=10&callback=?&q='+ encodeURIComponent(url); 

または混合形式を使用します: https://developers.google.com/feed/v1/devguide#resultMixed

url = 'http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&output=json_xml&num=10&callback=?&q='+ encodeURIComponent(url); 

JSONに加えて、すべてのタグ(「enclosure」属性を含む)を含む新しいxmlStringプロパティを取得します

alert(d.responseData.xmlString);

どちらの場合も、XML 文字列を解析し、必要な情報に移動する必要があります

お役に立てれば

于 2012-06-28T12:45:27.513 に答える