2009-04-24 15 views
12

Existe-t-il un équivalent à XDomainRequest d'Internet Explorer dans Firefox ou dans l'un des autres navigateurs? Je souhaite accéder à un service/site Web en dehors de mon domaine.Existe-t-il un équivalent XDomainRequest dans Firefox?

+0

Cela ressemble beaucoup à un double de http://stackoverflow.com/questions/667519/firefox-setting-to-enable-cross-domain-ajax-request mais je n » Je sais comment XDomainRequest suffit pour dire si c'est un doublon exact. –

+0

Hmm cela semble relavent ... http: //www.machineware.com/blog/cross-domain-http-requests-in-ie-8-and-firefox-3-1.html, mais c'est seulement dans IE8 et FF3.1 Il me semble qu'il y a une autre manière ou deux que vous devriez pouvoir faire ceci ... – leeand00

+0

(De sorte que nous n'ayons pas à exiger que l'utilisateur utilise IE8 ou FF3.1) – leeand00

Répondre

21

L'objet XDomainRequest dans Internet Explorer 8 est une méthode propriétaire permettant de demander des ressources en dehors de la «politique de même origine».

Firefox 3.5+ et Safari 4+ permettent des requêtes interdomaines via l'objet XMLHTTPRequest. Les agents utilisateurs prenant en charge XMLHTTPRequest Level 2 doivent disposer du support CORS (Cross-Origin Resource Sharing), qui permet de récupérer la ressource SI la ressource annonce qu'elle peut être demandée à d'autres domaines. N'oubliez pas que la ressource doit se déclarer comme ressource d'origine croisée avant qu'un agent utilisateur conforme récupère la ressource.

Plus d'infos ici: http://www.w3.org/TR/cors/ et à /TR/XMLHttpRequest2 sur le site Web du W3C.

2

C'est possible, il vous suffit de définir des en-têtes inter-domaines sur le serveur cible.

exemple .htaccess:

Header set Access-Control-Allow-Origin "*" 
Header set Access-Control-Allow-Headers "X-Requested-With" 
Header set Access-Control-Max-Age "60" 

XmlHttpRequest présentera une requête OPTIONS au serveur cible qui répondra à ces en-têtes, ce qui permet au client de présenter la demande prévue.

Source: http://www.oriontransfer.co.nz/blog/2011-05/cross-domain-ajax/index