在我关于是否继续使用 mootools 或跳转到 jQuery 的永恒内部斗争中,我在 jQuery 文档上发现了一些引起我注意的东西,那就是 jQuery 可以向不同的域请求 JSON,这通常被浏览器禁止.
我已经看到了一些跨子域的解决方法,但从来没有跨域,我真的很激动,首先我认为我是服务器相关的,但尝试了更多我已经看到从 jQuery 执行相同的 JSON 请求Mootools 上的文档不起作用!
这适用于 jQuery:
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
function(data){
$.each(data.items, function(i,item){
$("<img/>").attr("src", item.media.m).appendTo("#images");
if ( i == 3 ) return false;
});
});
这不是 Mootools:
var jsonRequest = new Request.JSON({url: "http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?", onComplete: function(person, responseText){
alert(responseText);
}}).get({});
我怎样才能复制这种行为?是什么原因造成的?
jQuery 文档:http : //docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback Mootols 文档:http ://mootools.net/docs/Request/Request.JSON