Javascript AJAX请求在FIREFOX上被拒绝,但在IE上未被拒绝

Javascript AJAX请求在FIREFOX上被拒绝,但在IE上未被拒绝,javascript,ajax,json,Javascript,Ajax,Json,我需要发出一个ajax请求,IE正常工作,FirefoxURI被拒绝 我在谷歌上搜索了一下,发现唯一的方法就是使用JSON来消除限制 有人举过例子吗 谢谢它可能看起来像这样: $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?" + "tags=cat&tagmode=any&format=json&jsoncallback=?", function(data){

我需要发出一个ajax请求,IE正常工作,FirefoxURI被拒绝

我在谷歌上搜索了一下,发现唯一的方法就是使用JSON来消除限制

有人举过例子吗

谢谢

它可能看起来像这样:

$.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;
      });
    });
$.getJSON(“http://api.flickr.com/services/feeds/photos_public.gne?" +
“tags=cat&tagmode=any&format=json&jsoncallback=?”,
功能(数据){
$.each(data.items,function(i,item){

$(“或者,您可以让XMLHttpRequest将您的用户代理指定为IE(浏览器嗅探是愚蠢的):


或者更好的办法是,向网站管理员发送一封措辞强硬的电子邮件,说明他们不接受来自非IE浏览器的请求。在当今时代,建立一个只使用IE的网站是不可接受的。它在许多方面破坏了网站的可访问性和实用性。

在深入了解之前,请尝试在请求中使用绝对url。
据我所知,IE和FIrefox在这里应用的唯一区别是,IE在http流量中将相对URL转换为绝对URL。

您始终可以使用服务器端代理。

如果这是一个跨站点问题(我不认为是),请尝试为您的站点设置子域(比如flickrapi.acme.com)这是api.flickr.com的一个CNAME。

你确定这会起作用吗?因为我相信这不会由于同源策略限制。它会起作用是因为这是一个jsonp请求,你知道这一点是因为你在url中看到了。有关更多信息,请参阅jquery的jsonp文档。你的URI是否与代码所在的页面指向同一服务器出现?
var req = new XMLHttpRequest();
req.setRequestHeader('User-Agent','MSIE 7.0');
req.open("GET", sURL, true);
req.onreadystatechange=function() {
    if (req.readyState==4) {
        alert(req.responseText);
    }
}
req.send(null);