Le concept de partage de ressources d'origines croisées (CORS)
J'ai une question sur le concept de la croix de domaine JavaScript.
Il est serveur(ex amazon.com), où dans les seuls domaines sélectionnés peuvent utiliser leurs services web.
Donc, certainement, si j'essaie d'utiliser leur service, à partir de mon local, je ne peux pas.
Je l'ai obtenu sur ma console
De la croix-Origine de la Demande Bloqué: de La Même Origine que la Politique n'autorise pas la lecture
la distance de la ressource
http://football20.myfantasyleague.com/2014/export?TYPE=rosters&L=52761&W=&JSON=0.
Ceci peut être corrigé en déplaçant la ressource dans le même domaine ou
l'activation de la SCRO.
PS: j'ai utilisé jquery croix de domaine trop, mais il n'a pas de travail.
Mais si quelques-uns de domaine qui est parmi la sélection, à l'utilisation d'Amazon web service, a un JavaScript, qui, si nous incluons dans notre html, il fonctionne.
<script src="http://example.com"></script>
Ils ont une méthode pour obtenir de réponse par Ajax.
Mes questions sont:
- Ce qui se passe lorsque nous nous référons à un fichier JavaScript à partir d'une url internet. Avons-nous une copie locale sur notre machine?
- Est httpRequest créé, sera une source de la demande que mon nom de domaine ou xyz.
source d'informationauteur Sashi Kant
Vous devez vous connecter pour publier un commentaire.
Remarque importante à l'avant: Si le serveur à l'autre extrémité n'a pas l'activer, il n'y a rien que vous pouvez faire dans votre côté client code qui permettra à un cross-origin requête ajax.
Permettez-moi de vous donner un arrière-plan avant de répondre à votre question:
De Même Origine Politique De Sécurité
Tout simplement, de même origine politique de sécurité permet de s'assurer que les scripts à partir d'une origine peut ne pas récupérer le contenu d'autres origines. Maintenant, pour vous expliquer le concept de l'origine, permettez-moi de citer une partie de la Article wikipédia de Même Origine Politique de Sécurité:
Ainsi, par exemple, votre JavaScript est impossible de télécharger quoi que ce soit à partir de (aka, faire une requête HTTP à un serveur web autre que le serveur d'où elle provient. C'est exactement pourquoi vous ne pouvez pas faire XmlHttpRequests (aka AJAX) à d'autres domaines.
De la SCRO est une façon le serveur à l'autre bout (pas le code client dans le navigateur) peut détendez-vous le même-la politique de l'origine.
Une Description Simpliste sur Origine de la croix de Partage de Ressources (SCRO).
Exemple: Dire que votre site est
http://my-cool-site.com
et, vous disposez d'un tiers de l'API au domainehttp://third-party-site.com
auquel vous pouvez accéder via AJAX.Et supposons qu'une page à partir de votre serveur
my-cool-site.com
a fait une demande dethird-party-site.com
. Normalement, les utilisateurs du navigateur baisse des appels AJAX vers un autre site autre que votre propre nom de domaine/sous-domaine par le De Même Origine Politique De Sécurité. Mais si le navigateur et le serveur d'un tiers prend en charge la SCRO, les choses suivantes se produisent:Navigateur va envoyer et
Origin
en-tête HTTP pourthird-party-site.com
Si le serveur d'un tiers accepte les demandes à partir de votre domaine, il répondra avec une
Access-Control-Allow-Origin
en-tête HTTP:Pour permettre à tous les domaines, troisième partie serveur peut envoyer cet en-tête:
Si votre site n'est pas autorisé, le navigateur renvoie une erreur.
Si les clients ont assez moderne les navigateurs qui prennent en charge la SCROet votre serveur tiers prend en charge la SCRO ainsi, la SCRO peut être utile pour vous.
Dans certains navigateurs obsolètes (IE8, par exemple), vous devez utiliser Microsoft
XDomainRequest
objet au lieu deXMLHttpRequest
de faire un appel fonctionne correctement avec la SCRO; ce dépassée aujourd'hui, tous les navigateurs modernes (y compris à partir de Microsoft) de la poignée de la SCRO enXMLHttpRequest
à la place. Mais si vous avez besoin de support des navigateurs obsolètes, cette page le décrit:Encore une fois, c'est seulement nécessaire pour les navigateurs obsolètes.
Les raisons ci-dessus sont les raisons pour lesquelles vous ne pouvez pas utiliser les services Amazon web services à partir de votre script. Et Amazon serveur ne permet pas de télécharger leurs fichiers JavaScript pour les pages servi de certains domaines.
Pour répondre à vos numérotés questions:
Voir description de la SCRO à comprendre.