jQuery를 사용하여 AJAX POST 요청을 생성할 때 요청 동작을 제어하기 위해 사용자 정의 헤더를 포함할 수 있습니다. . 그러나 교차 출처 요청에서 CORS(액세스 제어 요청 헤더)의 역할을 이해하는 것이 중요합니다.
기본적으로 jQuery는 실행 전 확인을 시작하기 위해 교차 출처 요청 앞에 OPTIONS 요청을 붙입니다. . 이 검사를 통해 서버가 원래 요청에 포함된 특정 HTTP 메서드와 헤더를 허용하는지 확인합니다. 이 실행 전 확인 중에 jQuery는 원래 요청에 있는 사용자 정의 헤더를 지정하는 Access-Control-Request-Headers 헤더를 요청에 자동으로 추가합니다.
제공된 예에서:
$.ajax({ ... headers: { "My-First-Header":"first value", "My-Second-Header":"second value" } ... })
요청 매개변수에는 두 개의 사용자 정의 헤더가 포함되어 있습니다. 실행 전 확인이 시작되면 브라우저는 자동으로 요청 헤더를 다음과 같이 수정합니다.
... Access-Control-Request-Headers: My-First-Header,My-Second-Header ...
이렇게 하면 서버가 실제 POST 요청에 포함될 사용자 정의 헤더를 인식할 수 있습니다. 그러나 사용자 정의 헤더 자체는 비행 전 확인 요청에 존재하지 않습니다.
실제 POST 요청에 사용자 정의 헤더를 포함하려면 다음과 같이 beforeSend 함수를 사용할 수 있습니다.
$.ajax({ ... beforeSend: function(xhr) { xhr.setRequestHeader("My-First-Header", "first value"); xhr.setRequestHeader("My-Second-Header", "second value"); } ... })
이 경우 비행 전 확인을 실행하지 않고 사용자 정의 헤더가 POST 요청에 직접 포함됩니다. 교차 출처 요청의 경우 서버는 Access-Control-Allow-Headers 응답 헤더에 지정된 헤더를 명시적으로 허용해야 합니다.
위 내용은 비행 전 확인을 실행하지 않고 AJAX POST 요청에 사용자 정의 헤더를 어떻게 포함합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!