크로스 원본 도메인을 보내고 사용자 지정'인증 '헤더를 추가하려고합니다. 아래 코드를 참조하십시오.cross-origin 'Authorization'-header with jquery.ajax()
오류 :
XMLHttpRequest의는 {URL}을 (를)로드 할 수 없습니다. 요청 헤더 필드 권한 부여는 Access-Control-Allow-Headers에서 허용되지 않습니다.
function loadJson(from, to) {
$.ajax({
//this is a 'cross-origin' domain
url : "http://localhost:2180/api/index.php",
dataType : 'json',
data : { handler : "statistic", from : from, to : to
},
beforeSend : setHeader,
success : function(data) {
alert("success");
},
error : function(jqXHR, textStatus, errorThrown) {
alert("error");
}
});
}
function getToken() {
var cookie = Cookie.getCookie(cookieName);
var auth = jQuery.parseJSON(cookie);
var token = "Token " + auth.id + ":" + auth.key;
}
function setHeader(xhr) {
xhr.setRequestHeader('Authorization', getToken());
}
는 또한 시도 : 아약스 요청
headers : { 'Authorization' : getToken() },
.
jquery-ajax 프레임 워크가 교차 출처 인증을 차단할 수 있습니까? 이 문제를 어떻게 해결할 수 있습니까?
업데이트 : 쿠키에 다음 클라이언트 측에 auth.key을 저장하는 안전한 방법이있다 : 그런데
? getToken()은 몸체, 날짜 등을 해시하는보다 복잡한 메소드로 대체됩니다.
'getToken()'메소드는 아무 것도 반환하지 않습니다. – istepaniuk