[英]AJAX request denied on FIREFOX but not on IE
我需要發出ajax請求,IE工作正常,Firefox URI已被拒絕。
我用谷歌搜索,發現唯一的方法是使用JSON消除和限制。
有沒有一個例子?
謝謝
使用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;
});
});
如果這是跨站點問題(我認為不是),請嘗試為您的站點(例如flickrapi.acme.com)設置一個子域,該子域是api.flickr.com的CNAME。
或者,您可以使XMLHttpRequest將用戶代理指定為IE(瀏覽器嗅探是愚蠢的):
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);
或者更好的方法是,向站點管理員發送一封措辭強烈的電子郵件,告知他們他們不接受來自非IE瀏覽器的請求。 在當今時代,建立僅IE網站是不可接受的。 它以多種方式破壞了網絡的可訪問性和實用性。
在深入探討之前,請嘗試在請求中使用絕對URL。 我知道在IE和FIrefox之間適用的唯一區別是IE將http流量中的相對URL轉換為絕對URL。
您始終可以使用服務器端代理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.