Qu'est-ce que la demande de domaine croisé?
Une compréhension simple consiste à faire une demande à un fichier serveur qui n'est pas dans le même nom de domaine. Utilisons un exemple pratique pour illustrer cela. Par exemple, baidu.com envoie une demande à cxyblog.com. Les deux noms de domaine sont différents. C'est donc un domaine croisé. Pour des raisons de sécurité, cela n'est pas autorisé. Il convient également de noter que les demandes envoyées par différents sous-domaines, différents ports du même domaine, ou différents protocoles du même domaine, sont également considérés comme un domaine croisé et peuvent essentiellement être classés dans les catégories suivantes:
(1) http://www.baidu.com envoie une demande à http://www.cxyblog.com
(2) http://www.cxyblog.com envoie une demande à http://image.cxyblog.com
(3) http://www.baidu.com:8000 Envoyez une demande à http://www.cxyblog.com
(4) http://www.cxyblog.com envoie une demande à https://www.cxyblog.com
(5) http://www.cxyblog.com envoie une demande à http://112.65.242.67 (en supposant que l'IP correspondant au nom de domaine www.cxyblog.com est 112.65.242.67)
Toutes les cinq situations ci-dessus sont des demandes de domaine croisé.
Quand les demandes de domaine transfrecminable seront-elles utilisées?
Parfois, lorsque nous devons utiliser JavaScript pour effectuer des opérations AJAX, nous rencontrerons ce type d'opération de demande de domaine croisé.
Pourquoi la demande de domaine croisé ne peut-elle pas être implémentée directement à l'aide de JavaScript?
Pour des raisons de sécurité, le navigateur n'autorise pas JavaScript à demander des ressources inter-domaines en raison de restrictions sur la politique homologue de JavaScript.
Comment résoudre le problème que JavaScript ne peut pas implémenter les demandes de domaine inter-domaine?
La solution utilisée dans cet article consiste à utiliser Flyjsonp pour implémenter les demandes de domaine inter-domaines. Flyjsonp est une bibliothèque de classe JavaScript légère, également connue sous le nom de plug-in JSON. La taille totale après compression est d'environ 3 Ko et aucun autre cadre ne doit être pris en charge.
Adresse du site officiel de Flyjsonp: http://alotaiba.github.com/flyjsonp/
Alors, comment utiliser la bibliothèque de classe FlyJSONP pour implémenter les demandes de domaine croisé?
(1) Tout d'abord, vous devez charger le script JavaScript de Flyjsonp, c'est-à-dire:
<script lingots = "javascript" src = "http://www.cxyblog.com/flyjsonp.min.js"> </ script>
(2) Ensuite, pour initialiser l'instance de flyjsonp, le débogage des paramètres peut être défini sur true ou false, c'est-à-dire: flyjsonp.init ({debug: true}), ce qui signifie ouvrir des informations de débogage, et la valeur du paramètre est vraie ou fausse;
(3) Ensuite, utilisez la méthode GET ou la méthode Post pour demander des données. L'exemple de code spécifique est le suivant:
// flyjsonp implémente le domain cross-domain getFunction getData () {flyjsonp.init ({debug: true}); // initialise une instance de flyjsonp, le débogage du paramètre peut être défini sur true ou false flyjsonp.get ({url: 'http: //ww.cxyblog.Glog/Artile.json' Request: {// Demande la limite du paramètre: 5}, Succès: fonction (données) {// console.log (data);}, erreur: fonction (errormsg) {// Envoi de la demande Console.log (errormsg); Flyjsonp.init ({debug: true}); // initialise une instance de flyjsonp, le débogage des paramètres peut être défini sur true ou false flyjsonp.post ({url: 'http: //www.cxyblog.com/article/new', paramètres: {username: 'cxyblog', api_key: '123456', ' Titre: 'Flyjsonp', Description: 'Test'}, Succès: fonction (données) {alerte (données);}});}Remarque: Lorsque le serveur est sorti vers le client, la sortie doit être une chaîne JSON, sinon le client ne pourra pas le recevoir.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.