7

파일을 업로드하는 데 jQuery Fileupload을 사용하고 있습니다. 그 서버에 설정 한헤더를 보내지 않습니다. 승인 헤더가 IE에서만 누락되었지만 크롬이 전달 된 이유는 무엇입니까? 크롬 전달Jquery 파일 업로드 - IE9에서 헤더를 보내지 않음

Request    : POST /api/v1/upload HTTP/1.1 
Accept    : text/html, application/xhtml+xml, \*/\* 
Referer    : url 
Accept-Language  : en-US 
User-Agent   :Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) 
Content-Type  :multipart/form-data; boundary=---------------------------7de2dfe037204f6 
Accept-Encoding  :gzip, deflate 
Host    :url 
Content-Length  :776595 
DNT     :1 
Connection   :Keep-Alive 
Cache-Control  :no-cache  
Cookie    :sitecookies 

헤더 : IE 전달

upload_photo: function(){ 
    var url = '/api/v1/upload'; 
    $('#photoupload').fileupload({ 
     url: url, 
     dataType: 'json', 
     paramName: 'uploadFile', 
     beforeSend: function (xhr) { 
      setHeader(xhr); 
      $("#check_progress").html('true'); 
     },      
     done: function (e, responseJSON) { 
      var id = responseJSON.result.id; 
      url = responseJSON.result.url; 
      var photo_ids = $("#photo_ids"); 
      var val = photo_ids.val(); 
      photo_ids.val(val + id.toString() + ","); 
      $(".photothumb-wapper").append('<div class=\"photothumb\" id="post_photo_'+id+'"><div><img src=\"'+url+'\" /></div><img class=\"thumb-delete photo_delete\" id=\"'+id+'\" title=\"Remove\" src=\"/assets/delete-red.png\"></div>'); 
      $("#check_progress").html(""); 
     }, 
     start: function (e, data) { 
      $(".photothumb-wapper").append('<div class="photothumb photoprogress" style="border:none"><img src="/assets/ajax-loader.gif" /></div>'); 
     }, 
     always: function (e, data) { 
      $(".photoprogress").remove(); 
     } 
    }); 
} 

var setHeader = function (xhr) { 
    xhr.setRequestHeader('Authorization', 'Bearer fdf49c4f1cfgc176eb952f18eeefaec3e7'); 
}; 

헤더 :

ResponseHeaders 
    date : Tue, 04 Mar 2014 07:32:20 GMT 
    Connection: Keep-Alive 
    content-length:225 
    content-type:application/json; charset=utf-8 
    cache-control:no-cache 
RequestHeaders 
    Accept: application/json, text/javascript, \*/\*; q=0.01 
    Authorization: Bearer fdf49c4f1cfgc176eb952f18eeefaec3e7 
    X-Requested-With: XMLHttpRequest 

왜 IE에서 누락 인증 헤더 인 다음

코드입니다 ?

+0

Dupilcate of http://stackoverflow.com/questions/7686827/how-can-i-add-a-custom-http-header-to-ajax-request-with-js-or-jquery –

+0

@ 지비 - 아니요. 수동으로 헤더를 전달해도 도움이되지 않습니다. 아직 IE10에서 제대로 인증되지 않은 IE9에서는 chrome, FF –

답변

4

This 내 질문에,

만 사용자 정의 헤더를 설정 XHR 파일 업로드 지원을 지원하는 브라우저에 응답합니다.

+1

이 승인을 받습니까? –

+0

그래서 헤더를 설정할 수 없습니까? 해결 방법을 찾았습니까? 동일한 문제가 있습니다. 요청을 처리 할 때마다 파일을 업로드 할 때 인증 헤더가 필요합니다. – darksoulsong

+0

아니요 해결 방법을 찾을 수 없습니다. –

0

친애하는 IE와 같은 예전 브라우저의 해결 방법으로 사용자가 인증 할 때 인증 토큰을 사용하여 쿠키를 설정 한 다음 서버에서 가져 와서 헤더 하나를 확인하는 것과 같은 방식으로 확인하십시오. 나는 이것이 가장 우아한 해결책이 아니라는 것을 알고 있습니다.