0

これは実用的なフィドルです。http://jsfiddle.net/bpBtC/1/

しかし、このhttp://jsfiddle.net/bpBtC/131/は同じ方法では機能しませんか?

(XML フィードを使用する他のすべての Web サイトも同じ方法で失敗します。なぜですか?)

$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "http://www.blogger.com/feeds/2399953/posts/default",
        dataType: "xml",
        success: xmlParser,
        dataType: 'jsonp'
    });
});

function xmlParser(xml) { 
    $(xml).find("entry").each(function () {
        $(".entirecont").append($(this).find('title').text());
    });
}
4

2 に答える 2

1

dataType2回設定しています。

$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "http://www.blogger.com/feeds/2399953/posts/default",
        dataType: "xml",
        success: xmlParser,
        dataType: 'jsonp' //<-- this is what actually used.
    });

2 番目の dataType を削除すると、コードは失敗します。http://jsfiddle.net/bpBtC/130/

于 2013-11-05T14:35:41.903 に答える
0

最初のフィドルは、返されるデータ型として (XML ではなく) JSONPを使用し、クロスサイト スクリプティングの制限を回避する方法として機能します。JSONP とその仕組みについて理解してください。

2 番目のフィードは JSONP を返さず、XML を返すため、機能しません。また、同じ ajax 呼び出しで 2 つのデータ型パラメーターを持つことはできません。

于 2013-11-05T14:35:04.343 に答える