반응형
요청 헤더 jQuery Ajax 설정
매우 이상한 문제에 처해 있습니다.이렇게 서비스에 추가 param Authorization을 보내고 싶습니다.
Request headers
Authorization: bearer t-3e57cc74-3e7a-4fc7-9bbb-f6c83252db01
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: JSESSIONID=908D73C50F09E75C9A0D674C4CB33D2F; ROUTEID=.1; __unam=3c3246b-13bc693352d-aa1535c-1
단, 이 코드 사용
headerParams = {'Authorization':'bearer t-7614f875-8423-4f20-a674-d7cf3096290e'};
obj = {
type: 'get',
url: 'https://api.sandbox.slcedu.org/api/rest/v1/students/test1',
headers: headerParams,
data: [],
dataType: 'json',
processData: false,
success: function(data) {
console.log('success');
console.log(data);
}
};
jQuery.ajax(obj);
값을 전달하지 않고 이렇게 전송하며 요청 유형도 GET이 아닌 OPTION이 됩니다.이것이 콘솔로그입니다.
Accept: */*
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Access-Control-Request-Headers authorization
Access-Control-Request-Method GET
Connection keep-alive
Host api.sandbox.slcedu.org
Origin http://localhost
User-Agent Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0
어떻게 하면 이 인증과 같이 전달할 수 있을까요?bearer t-3e57cc74-3e7a-4fc7-9bb-f6c83252db01
감사해요.
beforeSend 사전 요청 콜백을 사용하면 이 작업을 수행할 수 있습니다.
$.ajax({
url: 'https://api.sandbox.slcedu.org/api/rest/v1/students/test1',
type: 'GET',
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Bearer t-7614f875-8423-4f20-a674-d7cf3096290e');
},
data: {},
success: function () { },
error: function () { },
});
또한 모든 요청에 대해 ajaxSetup을 사용하여 설정할 수 있습니다.
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', '...');
}
});
또 다른 옵션은 "headers" 키로 지정합니다.
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.example.com/action",
"method": "POST",
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Bearer eyJraWQiOiJBbWZJSXU3UFhhdXlUbHM3UmNyZmNIQUd1MUdCWkRab2I0U05GaVJuWUFJPSIsImFsZyI6IlYYYjU2In0.eyJzdWIiOiJjNTYyEEE1ZS05Zjc3LTQ2NDAtYTFmOS1hJJJ5Njk1OGE0MzUiLCJhdWQiOiI3Z2ZsZnNmMm1vNnQ4dXJpOG0xcHY5N3BnayIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJldmVudF9pZCI6ImE2YWFjOTQxLTYzYWUtNGU5ZS1iYTE1LTRlYTNlOGIyZjQ5MSIsInRva2VuX3VzZSI6ImlkIiwiYXV0aF90aW1lIjoxNTY4OTY0NDI2LCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtd2VzdC0yLmFtYXpvbmF3cy5jb21cL3VzLXdlc3QtMl9qanRiZFZkZEYiLCJjb2duaXRvOnVzZXJuYW1lIjoiYzU2MmFjNWUtOWY3Ny00NjQwLWExZjktYTgxOTY5NThhNDM1IiwiZXhwIjoxNTY4OTY4MDI2LCJpYXQiOjE1Njg5NjQ0MjcsImVtYWlsIjoiYnJ5YW5Ab3BlbndvbmsuY29tIn0.fV4bgaKwXx-HjrBmGtBnSzaDHdP0JEeJ0sbE6MzuOJYWafT5gWfh9pLtkpUv-mgsnX3cVIWDVKC0H8_XM4ziUhsulZIRBwTiSca0CfABvanuMdbdjk1iK70aUxsrjHX0gK4SDUi4Zl6JNGws_SRbVi9Yq_ntx7ttXfUpZHjimfZ2mLidOLUruYctG1V_gU-dLD6CARCUbGh5aRk5nwX_5-HBUTbBVPYK3sXcVg2YRk63d-p3TITA5hoOEj9lxtHs3ZM7ZqNPl0XPUGghxdbvWnpSIUKrFLugRHqCiWxC38ZYiBhP0NDYoEMaOI-UrnEH1W6j-kr3fnH2LD5wOMJ_8Q"
},
"data": {
"someData": someData
}
}
$.ajax(settings).done(function (response) {
console.log(response)
})
언급URL : https://stackoverflow.com/questions/14010851/set-request-header-jquery-ajax
반응형
'programing' 카테고리의 다른 글
| Java 7에서 org.json Java 라이브러리를 사용하는 방법 (0) | 2023.03.26 |
|---|---|
| React Hook useState가 const를 사용하고, (0) | 2023.03.26 |
| React와 함께 Redx의 프로바이더를 사용하는 방법 (0) | 2023.03.26 |
| ORA-00932: 일치하지 않는 데이터 유형: 예상됨 - CLOB가 있음 (0) | 2023.03.26 |
| Spring Boot에서 여러 데이터 소스 및 스키마 (0) | 2023.03.26 |