Heim  >  Artikel  >  Web-Frontend  >  Einführung in Lösungen für domänenübergreifendes Anforderungs-POST

Einführung in Lösungen für domänenübergreifendes Anforderungs-POST

不言
不言nach vorne
2019-04-04 10:48:383963Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in die Lösung für domänenübergreifende POST-Anfragen. Ich hoffe, dass er für Freunde hilfreich ist.

POST-Lösung für domänenübergreifende Anfragen

Cookies können im Allgemeinen nicht domänenübergreifend sein, und selbst POST-Anfragen können im Allgemeinen nicht domänenübergreifend sein.
    //     请求代码示例
    $.ajax({
        url: url,
        type: "POST",
        data: metadata,
        dataType: 'json',
        xhrFields: {  
            withCredentials: true  
        },  
        crossDomain: true,
        success: function(){},
        error: function(){}
    });

1. Standardmäßig unterliegt Ajax (XMLHttpRequest()-Objekt und darunter Microsoft.XMLHTTP-Objekt ) derselben Ursprungsrichtlinie und erlaubt keine Überkreuzung -Domain-Anfragen.

2. Die domänenübergreifende Funktion von jsonp besteht darin, der Seite dynamisch Skript-Tags hinzuzufügen, um auf domänenübergreifende Ressourcen zu verweisen, aber es gibt keine Post-Methode.

Lösung: Serverseitige Einstellungen, um domänenübergreifende Ajax-Anfragen zuzulassen
    ##     服务端设置允许跨域代码,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
    }

Domänenübergreifende Lösung für Cookies

Problem mit domänenübergreifenden Ajax-Anfragen Gelöst Aber wenn das Backend Cookies über die Schnittstelle abrufen muss, gibt es auch ein domänenübergreifendes Problem mit Cookies

Domänenübergreifende Lösung für Cookies: Fügen Sie der Anfrage die folgenden Parameter hinzu, und die Informationen im Anforderungsheader lauten „Kommt mit Cookie-Informationen“
    // 代码
    $.ajax({
        ...
        xhrFields: {  
            withCredentials: true  
        },
        ...
    });

[Verwandte Empfehlungen: JavaScript-Video-Tutorial]

Das obige ist der detaillierte Inhalt vonEinführung in Lösungen für domänenübergreifendes Anforderungs-POST. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen