工作XML feed,博主是个例外吗?

时间:2013-11-05 14:25:16

标签: ajax jquery

这是一个工作小提琴。 http://jsfiddle.net/bpBtC/1/

但是这个http://jsfiddle.net/bpBtC/131/不能用同样的方法吗?

(所有其他使用XML Feed的网站也使用相同的方法失败,为什么?)

$(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());
    });
}

2 个答案:

答案 0 :(得分:1)

您正在设置dataType两次。

$(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.
    });

删除第二个dataType,您的代码将失败。http://jsfiddle.net/bpBtC/130/

答案 1 :(得分:0)

第一个小提琴是有效的,因为它使用JSONP(不是XML)作为返回数据类型和绕过跨站点脚本限制的方法。熟悉JSONP及其工作原理。

第二个Feed不返回JSONP,它返回XML,因此无法工作。此外,您在同一个ajax-call上也没有两个数据类型参数。