2017-05-19 6 views
0

Ich habe benutzerdefinierte Request-Header zu meiner $ http Anfrage hinzugefügt. Die Header wird nicht in der Anfrage angezeigt, stattdessen kommt es unter Access-Control-Request-Header wie Access-Control-Request-Header: Akzeptieren, Mobile-Access Siehe unterhalb der Ausgang in Netzwerk Registerkarte chrome:Wie benutzerdefinierte Header in Winkel 2 hinzufügen?

Accept:*/* 
Accept-Encoding:gzip, deflate, sdch 
Accept-Language:en-US,en;q=0.8 
Access-Control-Request-Headers:authorization,content-type,mobile-access 
Access-Control-Request-Method:GET 
Connection:keep-alive 
+0

'Access-Control-Request-Header' das sind serverseitige Header. –

Antwort

0

die Anfrage, die Sie suchen, ist die Anforderung OPTIONS. Das ist die Voranfrage, die einige Navigatoren stellen, bevor sie die echte Anfrage stellen. Diese Anfrage bittet den Server zu sehen, ob er eine Petition mit den Kopfzeilen Autorisierung, Content-Type, Mobile-Access und der Methode GET erstellen kann. Der Server muss mit den Headern zurückgeben:

Das wird dem Browser sagen, dass die Petition erlaubt ist und er wird die Petition machen. Sie können die Konsolenregisterkarte überprüfen und sehen, ob ein Fehler angezeigt wird, der besagt, dass die Anfrage blockiert wurde oder so ähnlich.

Was verwenden Sie in Server?

+0

Eigentlich, auf dem Server, überprüfe ich, ob der benutzerdefinierte Header-Wert vorhanden ist oder nicht. Wenn es vorhanden ist, werde ich diese Domain erlauben, andernfalls werde ich ablehnen. Das habe ich getan. var Domäne; if (req.headers ['mobile-access']! = "Wert") { res.send (401); } sonst { domain = req.headers.origin; } – ARD

+0

Sie können den Wert der Kopfzeile in der Preflight-Anforderung nicht kennen. Der Browser sendet nur den Wert des Headers, wenn Sie die Petition zulassen. –

+0

Danke @Daniel – ARD