2014-01-22 2 views
5

서버에 데이터를 게시하는 동안 권한 부여 헤더를 전달하고 싶습니다. 나는

$.ajax({ 
    url : <ServiceURL>, 
    data : JSON.stringify(JSonData), 
    type : 'POST', 
    contentType : "text/html", 
    dataType : 'json', 
    success : function(Result) { 
    }, 
    beforeSend: function (xhr) { 
     xhr.setRequestHeader('Authorization', <Authorization Header Value>); 
    }, 
    error: function (RcvData, error) { 
     console.log(RcvData); 
    } 
}); 

을 시도하지만 REST 서비스 오류 (오류 코드 : 500)를 반환합니다. 동일한 서비스가 승인을 추가하기 전에 $ .post()를 사용하여 잘 작동했습니다. 누구나 "$ .post()에 권한 헤더를 전달하는 방법"이라고 말할 수 있습니까?

답변

4

당신은 datacontentType가 혼합 찍었을 수도

contentType: 'application/json', 

사용.

  • contentType 당신이 보내는 Content-type 헤더입니다.

  • data은 수신 한 데이터를 jQuery에서 처리하는 방식을 변경합니다.

4

jQuery $ .ajax() 메소드는 설정 객체에서 headers 값을 허용합니다.

그래서 :

$.ajax({ 
    // url, data, etc... 
    headers: { 
     "Authorization" :"Basic " + myBase64variable, 
     "Content-Type" :"application/json" 
    } 
}); 

출처 : http://api.jquery.com/jquery.ajax/

PS : 당신은 또한 beforeSend 매개 변수에 객체를 새로운 설정에 전달할 수 있습니다 보인다. 나는이 사실을 알지 못 했으므로이 질문에 감사드립니다.