programing

jqXHR.getAllResponseHeaders()가 모든 헤더를 반환하지 않음

css3 2023. 8. 13. 09:56

jqXHR.getAllResponseHeaders()가 모든 헤더를 반환하지 않음

후에jQuery.ajax()불러jqXHR.getAllResponseHeaders()모든 헤더를 반환하지 않습니다.서버가 다음 헤더로 응답했습니다.

Connection: keep-alive
Content-Length: 64
Content-Type: application/json
X-My-CustomHeader: whatever

getAllResponseHeaders()반환된 항목만:

Content-Type: application/json

내가 뭘 잘못하고 있는 거지?

var request = {
  'url': 'http://api.someExternalDomain.com/resource/',
  'type': someMethod,
  'success': function(data, textStatus, jqXHR) {
    console.log(jqXHR.getAllResponseHeaders());
  }
};

$.ajax(request);

svenyonson이 댓글로 이렇게 불렀지만, 저에게는 그것이 답이었기 때문에, 저는 그것을 올리고 있습니다.CORS를 수행하는 경우, 서버는 클라이언트가 읽을 수 있는 헤더에 대해 명시적이어야 합니다.읽고 싶다면,X-My-CustomHeaderJavascript에서 이 헤더는 서버 응답에 있어야 합니다.

Access-Control-Expose-Headers: X-My-CustomHeader

자세한 내용은 여기에 있습니다.

jquery 공식 웹사이트에서:

현재 .getAllResponseHeaders()가 빈 문자열을 반환하는 Firefox의 버그로 인해 .getResponseHeader('Content-Type')는 비어 있지 않은 문자열을 반환하며, jQuery를 사용하여 Firefox에서 JSON CORS 응답을 자동으로 디코딩할 수 없습니다.

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

언급URL : https://stackoverflow.com/questions/5614735/jqxhr-getallresponseheaders-wont-return-all-headers