반응형
모든 AJAX 요구에 대해 글로벌헤더를 설정할 수 있습니까?
이것은 동작하지 않는 것 같습니다.
$.ajaxSetup({
headers: {
Accept: 'application/vvv.website+json;version=1 ',
Authorization: 'Token token=\"FuHCLyY46\"'
}
});
그럴 줄 알았어요.이러한 필터를 특별히 AJAX 콜에 추가하면 동작합니다.모든 AJAX 콜에 대해 글로벌하게 이 작업을 수행합니다.
저는 몇 가지 테스트를 더 해봤는데 당신이 올린 코드가 완벽하게 작동합니다.파라미터의 설정방법에 문제가 있는 경우 항상 beforeSend call로 이동하여 xml 요구를 직접 변경할 수 있습니다.
$.ajaxSetup({
beforeSend: function (xhr)
{
xhr.setRequestHeader("Accept","application/vvv.website+json;version=1");
xhr.setRequestHeader("Authorization","Token token=\"FuHCLyY46\"");
}
});
또한 오픈 메서드를 monkey-patch함으로써 프레임워크에 구애받지 않는 방법으로 이를 수행할 수도 있습니다.
var o = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(){
var res = o.apply(this, arguments);
var err = new Error();
this.setRequestHeader('X-Ajax-Stack', JSON.stringify(err.stack));
return res;
}
이 예에서는 헤더를 통해 스택트레이스 정보를 전송하고 있습니다.이를 통해 백엔드는 jQuery를 사용하지 않는 서드파티 코드에서도 Ajax 요구가 어디서 발생했는지 알 수 있습니다.
(주의: 헤더가 너무 커질 수 있으므로 주의)
그beforeSend
답변이 동일하지 않다header
는 추가와 같습니다.header
Ajax 콜에 직접 접속합니다.따라서 jQuery가 이를 올바르게 수행하기 위해 다음과 같이 추가합니다.
headers: myGlobalHeaders
어디에myGlobalHeaders
는 글로벌 변수입니다.불행히도, 모든 에이잭스 콜마다 이 추가 줄을 써야 해요.끔찍해!이 문제를 처리하기 위해 jQuery 프레임워크를 편집할 수도 있습니다.
언급URL : https://stackoverflow.com/questions/14527360/can-i-set-a-global-header-for-all-ajax-requests
반응형
'it-source' 카테고리의 다른 글
WordPress를 사용하여 URL 개서를 위해 Windows Azure를 설정하는 방법 (0) | 2023.03.22 |
---|---|
워드프레스:고급 사용자 지정 필드: 새 워드프레스 설치로 필드 내보내기 및 가져오기 (0) | 2023.03.22 |
WordPress 3.5 업로더에 새 이미지가 업로드되는 즉시 일부 코드를 실행하는 방법 (0) | 2023.03.22 |
Spring Boot에서 프로그래밍 방식으로 콩을 작성하려면 어떻게 해야 하나요? (0) | 2023.03.22 |
Wordpress - $wpdb - > insert - MySQL NOW() (0) | 2023.03.22 |