2009-04-06 2 views
0

Мне нужно сделать запрос ajax, IE работает нормально, URI URI DENIED.Запрос AJAX отклонен на FIREFOX, но не на IE

Я googled, и я нашел единственный способ использовать JSON для устранения и ограничений.

Есть ли какой-нибудь пример?

Благодаря

+0

- это ваш URI, указывающий на том же сервере, что и страница, на которой отображается код? –

ответ

1

С 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; 
     }); 
    }); 
+0

Вы уверены, что это сработает? Потому что я считаю, что это не связано с теми же политическими ограничениями. –

+0

будет работать, потому что это запрос jsonp, и вы знаете это, потому что видите? в URL. см. документацию jquery jquery для получения дополнительной информации. – mkoryak

+0

@mkoryak, спасибо. Я понял. –

0

В качестве альтернативы, вы можете сделать свой 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 является неприемлемым. Это подрывает доступность & полезности Интернета во многих отношениях.

0

Прежде, чем вы проникнете слишком глубоко, попробуйте использовать абсолютный URL-адрес в запросе. Единственная разница, которую я знаю между IE и FIrefox, которая будет применяться здесь, заключается в том, что IE конвертирует относительные URL-адреса в абсолютный в HTTP-трафике.

0

Вы всегда можете использовать прокси-сервер.

0

Если это проблема межсайтового сайта (я не думаю, что это так), попробуйте настроить субдомен для вашего сайта (скажем, flickrapi.acme.com), который является CNAME на api.flickr.com.

Смежные вопросы