티스토리 뷰

1. safari 11.1 update

 - 기존 Safari (mac or ios)에서는 정상적으로 동작하던 ajax가 safari 11.1 버전 업데이트를 진행한 후로 오류가 발생함.

 - ajax 내 error 메시지가 다음과 같다

Failed to load resource: The operation couldn’t be completed. Protocol error

 - Chrome이나 Firefox 등 최신버전에서는 문제가 없었다.


2. 원인 

 - Webkit 버그!!!! (Webkit 빌드 r230963)

 - input[type=file] 또는 formData 내에 file 

<input type="file"/>

 - ajax 내 data에 빈 파일 필드가 전송되면 발생함.

 - (전 IOS 11.3에서 발생하여 수정 했습니다.)


3. 해결책

 - https://trac.webkit.org/changeset/230963/webkit : 수정됨.

 - 임시 해결책


frmData.delete("file"); //var frmData = new FormData() 를 사용할 경우

or

$("input[type=file]").each(function () {
var tmpValue = $(this).val();
if (tmpValue === undefined || tmpValue === "") {
$(this).remove();
}
});


'프로그래밍 > 삽질기...' 카테고리의 다른 글

Safari 11.1 업데이트 이후 ajax 버그  (0) 2018.05.17
댓글
댓글쓰기 폼
공지사항
최근에 달린 댓글
Total
15,729
Today
3
Yesterday
72
«   2018/05   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
글 보관함