프로그래밍 언어/jQuery, ajax

액세스 제어 요청 헤더, jQuery를 사용하여 AJAX 요청의 헤더에 추가됨

Rateye 2021. 6. 4. 10:48
728x90
반응형
질문 : 액세스 제어 요청 헤더, jQuery를 사용하여 AJAX 요청의 헤더에 추가됨

jQuery의 AJAX POST 요청에 사용자 지정 헤더를 추가하고 싶습니다.

나는 이것을 시도했다 :

$.ajax({     type: 'POST',     url: url,     headers: {         "My-First-Header":"first value",         "My-Second-Header":"second value"     }     //OR     //beforeSend: function(xhr) {      //  xhr.setRequestHeader("My-First-Header", "first value");      //  xhr.setRequestHeader("My-Second-Header", "second value");      //} }).done(function(data) {      alert(data); }); 

이 요청을 보내고 FireBug로 시청하면 다음 헤더가 표시됩니다.

옵션 xxxx / yyyy HTTP / 1.1
호스트 : 127.0.0.1:6666
사용자 에이전트 : Mozilla / 5.0 (Windows NT 6.1, WOW64, rv : 11.0) Gecko / 20100101 Firefox / 11.0
수락 : text / html, application / xhtml + xml, application / xml; q = 0.9, / ; q = 0.8
Accept-Language : fr, fr-fr; q = 0.8, en-us; q = 0.5, en; q = 0.3
Accept-Encoding : gzip, deflate
연결 : 연결 유지
출처 : null
액세스 제어 요청 방법 : POST
액세스 제어 요청 헤더 : my-first-header, my-second-header
Pragma : 캐시 없음
캐시 제어 : 캐시 없음

Access-Control-Request-Headers 로 이동하는 이유는 무엇입니까?

액세스 제어 요청 헤더 : my-first-header, my-second-header

다음과 같은 헤더 값을 예상했습니다.

My-First-Header : 첫 번째 가치
My-Second-Header : 두 번째 값

가능할까요?

답변

Firefox에서 본 것은 실제 요청이 아닙니다. HTTP 메소드는 POST가 아닌 OPTIONS입니다. 실제로 브라우저가 교차 도메인 AJAX 요청이 허용되어야하는지 여부를 결정하기 위해 수행하는 '프리 플라이트'요청이었습니다.

http://www.w3.org/TR/cors/

비행 전 요청의 Access-Control-Request-Headers 헤더에는 실제 요청의 헤더 목록이 포함됩니다. 그러면 서버는 브라우저가 실제 요청을 제출하기 전에 이러한 헤더가이 컨텍스트에서 지원되는지 여부를 다시보고해야합니다.

출처 : https://stackoverflow.com/questions/10093053/access-control-request-headers-is-added-to-header-in-ajax-request-with-jquery
728x90
반응형