Maison > interface Web > js tutoriel > Demander une solution de contournement inter-domaines CORS

Demander une solution de contournement inter-domaines CORS

php中世界最好的语言
Libérer: 2018-03-19 16:25:35
original
3883 Les gens l'ont consulté

Cette fois, je vais vous proposer la solution inter-domaines CORS. Quelles sont les précautions pour demander la solution inter-domaines CORS. Ce qui suit est un cas pratique, prenons ? un regard.

Le nom complet de CORS est Cross-Origin Resource Sharing, qui indique comment accéder aux ressources entre domaines tels que définis par la spécification HTML5.

Origin représente ce domaine, qui est le domaine de la page actuelle du navigateur. Lorsque JavaScript lance une requête vers un domaine externe (tel que sina.com), après avoir reçu la réponse, le navigateur vérifie d'abord si Access-Control-Allow-Origin contient ce domaine. Si tel est le cas, la requête inter-domaines réussit. Sinon, la requête échoue et JavaScript ne pourra obtenir aucune donnée dans la réponse.

Les requêtes simples incluent GET, HEAD et POST (le type de contenu de POST est limité à application/x-www-form-urlencoded, multipart/form-data et text/plain), et aucun en-tête personnalisé (par exemple, X-Custom: 12345) ne peut être présent

Pour PUT, DELETE et d'autres types de application/jsonrequêtes POST telles que , le navigateur enverra d'abord une requête OPTIONS (appelée requête de contrôle en amont) à cette URL, et demander au serveur cible s'il doit accepter :

Le navigateur confirme que l'en-tête Access-Control-Allow-Methods de la réponse du serveur contient bien la méthode de la requête AJAX à envoyer, et alors il continuera à l'envoyer AJAX, sinon, lancez une erreur

//express后端配置:app.all('*', function(req, res, next) {
    res.header("Access-Control-Allow-Credentials","true");  //服务端允许携带cookie
    res.header("Access-Control-Allow-Origin", req.headers.origin);  //允许的访问域
    res.header("Access-Control-Allow-Headers", "X-Requested-With");  //访问头
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");  //访问方法
    res.header("X-Powered-By",' 3.2.1');
    res.header("Content-Type", "application/json;charset=utf-8");    if (req.method == 'OPTIONS') {
        res.header("Access-Control-Max-Age", 86400);
        res.sendStatus(204); //让options请求快速返回.    }    else {
        next();
    }
});
Copier après la connexion

Je crois que vous maîtrisez. la méthode après avoir lu le cas dans cet article, et plus encore. Pour un contenu plus passionnant, veuillez faire attention au site Web chinois php autres articles connexes !

Lecture recommandée :

Comment utiliser les chaînes JavaScript

Optimiser le DOM en JavaScript

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal