2017-05-19 2 views
0

내 $ http 요청에 사용자 지정 요청 헤더를 추가했습니다. 요청에 머리글이 표시되지 않고 대신 Access-Control-Request-Headers : 액세스, 모바일 액세스 크롬 네트워크 탭의 출력 아래 :각도 2에 맞춤 헤더를 추가하는 방법은 무엇입니까?

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

이들은 서버 측 헤더입니다. –

답변

0

요청은 OPTIONS 요청입니다. 그것이 실제 요청을하기 전에 일부 항해자가 만드는 사전 요청입니다. 이 요청은 헤더 권한, 컨텐츠 유형, 모바일 액세스 및 메소드 GET으로 청원을 할 수 있는지 여부를 서버에 요청합니다. 서버는 헤더와 함께 반환해야합니다 :

Access-Control-Allow-Headers:authorization,content-type,mobile-access 
Access-Control-Allow-Methods:OPTIONS, GET 

그러면 브라우저에 청원이 허용되며 청원을 할 것입니다. 콘솔 탭을 확인하여 요청이 차단되었거나 그와 비슷한 오류를 표시하는지 확인할 수 있습니다.

서버에서 무엇을 사용하고 있습니까?

+0

실제로 서버에서는 사용자 정의 헤더 값의 유무를 확인하고 있습니다. 그것의 현재, 나는 그 영역을 허용 할 것이다, 그렇지 않으면 나는 거절 할 것이다. 내가 한 일. var 도메인; if (req.headers [ 'mobile-access']! == 'some value') { res.send (401); } else { 도메인 = req.headers.origin; } – ARD

+0

프리 플라이트 요청에서 헤더의 값을 알 수 없습니다. 브라우저는 청원을 허용하는 경우에만 헤더 값을 보냅니다. –

+0

고맙습니다. @ 다니엘 – ARD

관련 문제