jQuery AJAX GET 호출에서 요청 헤더 전달


jQuery를 사용하여 AJAX GET에서 요청 헤더를 전달하려고합니다. 다음 블록에서 "데이터"는 자동으로 쿼리 문자열의 값을 전달합니다. 그 대신 요청 헤더에 해당 데이터를 전달할 수있는 방법이 있습니까?

$.ajax({
         url: "http://localhost/PlatformPortal/Buyers/Account/SignIn",
         data: { signature: authHeader },
         type: "GET",
         success: function() { alert('Success!' + authHeader); }
      });

다음 중 하나가 작동하지 않았습니다.

$.ajax({
         url: "http://localhost/PlatformPortal/Buyers/Account/SignIn",
         beforeSend: { signature: authHeader },
         async: false,                    
         type: "GET",
                    success: function() { alert('Success!' + authHeader); }
      });



Answers





jQuery 1.5부터는 다음과 같이 전달할 수있는 headers 해시가있다.

$.ajax({
    url: "/test",
    headers: {"X-Test-Header": "test-value"}
});

http://api.jquery.com/jQuery.ajax에서 :

헤더 (1.5 추가) : 요청과 함께 보낼 추가 헤더 키 / 값 쌍의 맵. 이 설정은 beforeSend 함수가 호출되기 전에 설정됩니다. 그러므로 헤더 설정의 모든 값은 beforeSend 함수에서 겹쳐 쓸 수 있습니다.




$.ajax({
            url: URL,
            type: 'GET',
            dataType: 'json',
            headers: {
                'header1': 'value1',
                'header2': 'value2'
            },
            contentType: 'application/json; charset=utf-8',
            success: function (result) {
               // CallBack(result);
            },
            error: function (error) {
                
            }
        });