Maison  >  Article  >  interface Web  >  Introduction aux solutions aux requêtes inter-domaines POST

Introduction aux solutions aux requêtes inter-domaines POST

不言
不言avant
2019-04-04 10:48:383963parcourir

Cet article vous présente la solution aux requêtes POST inter-domaines. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Solution POST de requête inter-domaines

Les cookies ne peuvent généralement pas traverser les domaines, et même les requêtes POST ne peuvent généralement pas traverser les domaines.
    //     请求代码示例
    $.ajax({
        url: url,
        type: "POST",
        data: metadata,
        dataType: 'json',
        xhrFields: {  
            withCredentials: true  
        },  
        crossDomain: true,
        success: function(){},
        error: function(){}
    });

1. Par défaut, ajax (objet XMLHttpRequest() et sous ie objet Microsoft.XMLHTTP ) est soumis à la même politique d'origine et ne le fait pas. autoriser la demande de domaine de connexion croisée.

2. La fonction inter-domaines de jsonp consiste à utiliser la page pour ajouter dynamiquement des balises de script pour référencer des ressources inter-domaines afin d'éviter cette restriction, mais il n'y a pas de méthode de publication.

Solution : Paramètres côté serveur pour autoriser les requêtes Ajax inter-domaines
    ##     服务端设置允许跨域代码,eg:
    header("Access-Control-Allow-Credentials: true");

    header("Access-Control-Allow-Origin: http://www.xxx.com");

    ## 设置成功后,在接口请求的Response Headers会看到一下以下允许跨越信息
    {
        Access-Control-Allow-Credentials:true
        Access-Control-Allow-Headers:x-requested-with,content-type
        Access-Control-Allow-Methods:POST
        Access-Control-Allow-Origin:http://www.aipai.com
    }

Solution inter-domaines pour les cookies

Ajax inter-domaines problème de demande Résolu, mais lorsque le backend a besoin d'obtenir des cookies via l'interface, il existe également un problème inter-domaines avec les cookies

Solution inter-domaines pour les cookies : Ajoutez les paramètres suivants à la demande, demander des informations sur l'en-tête Les informations sur les cookies seront jointes
    // 代码
    $.ajax({
        ...
        xhrFields: {  
            withCredentials: true  
        },
        ...
    });

[Recommandations associées : Tutoriel vidéo 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer