0

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

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

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

$(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

你设置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.
    });

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

于 2013-11-05T14:35:41.903 回答
0

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

第二个提要不返回 JSONP,它返回 XML,所以它不能工作。此外,您不能在同一个 ajax 调用上有两个数据类型参数。

于 2013-11-05T14:35:04.343 回答