>  기사  >  웹 프론트엔드  >  jQuery를 사용하여 AJAX POST 요청에서 사용자 정의 헤더를 보내는 방법은 무엇입니까?

jQuery를 사용하여 AJAX POST 요청에서 사용자 정의 헤더를 보내는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-05 11:45:02941검색

How to Send Custom Headers in AJAX POST Requests with jQuery?

jQuery를 사용한 AJAX POST 요청의 사용자 정의 헤더

jQuery로 시작된 AJAX POST 요청에서는 사용자 정의 헤더를 포함할 수 있습니다. 그러나 헤더를 추가하는 메커니즘은 일반적인 접근 방식과 다릅니다.

예제와 같이 헤더를 지정하면

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

이해컨데 헤더가 다음과 같이 전송될 것으로 예상할 수 있습니다.

My-First-Header: first value
My-Second-Header: second value

그러나 브라우저 보안 조치로 인해 초기 요청에서 사용자 정의 헤더 값을 직접 보내는 것이 방지됩니다. 대신 Access-Control-Request-Headers 헤더에 배치됩니다. 이는 사전 요청이라고 알려진 보안 메커니즘입니다.

후속 요청에 실제 헤더 값이 포함되도록 하려면 서버에서 필요한 CORS(Cross-Origin Resource Sharing) 헤더를 구성해야 합니다.

이 문제에 대한 해결책은 주어진 샘플 코드에 표시된 것처럼 다른 방식으로 헤더를 보내는 것입니다.

$.ajax({
  type: "POST",
  beforeSend: function(request) {
    request.setRequestHeader("Authority", authorizationToken);
  },
  url: "entities",
  data: "json=" + escape(JSON.stringify(createRequestObject)),
  processData: false,
  success: function(msg) {
    $("#results").append("The result =" + StringifyPretty(msg));
  }
});

이 접근 방식은 실제로 액세스를 우회하여 요청 헤더 값을 직접 설정합니다. 제어 요청 헤더 배치. 서버 구성 없이 초기 요청과 함께 사용자 정의 헤더를 보내는 방법을 제공합니다.

위 내용은 jQuery를 사용하여 AJAX POST 요청에서 사용자 정의 헤더를 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.