这是一个工作小提琴。 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());
});
}
答案 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上也没有两个数据类型参数。