본문 바로가기
javascript

jquery ajax jsonp (CORB) blocked 경고

by 후린트 2020. 6. 25.
반응형

jsonp를 이용하여 다른 도메인에서 데이타를 읽어오도록 처리를 했는데
보안 설정을 추가하고 나서 크롬에서 아래와 같은 경고 문구가 발생했다.

Cross-Origin Read Blocking (CORB) blocked cross-origin response ..... with MIME type application/json.

var url = etcDomain + '/getCount';

try {
	$.ajax({
        url: url,
        type: 'GET',
        dataType: 'jsonp',
        error: function(XHR, textStatus, errorThrown) {
            console.log('textStatus : ', textStatus);
            console.log('errorThrown : ',errorThrown);

			//textStatus :  parsererror
			//archeage_header.pack.js:152 errorThrown :  Error: jQuery171006339488620085465_1593074397418 was not called
            return ;
        },
        success: function(data) {
            if( data.resultCode === '0000' && data.resultValue > 0 ){
                    var msg = $('<em class="unread"><span>'+data.resultValue+'</span><span class="txt_hidden">개</span></em>');
                    $("#count').append(msg);
            }
        }
	});
}catch(e){console.log('e : ', e);}

 

jsonp로 호출 하는 서버에 추가된 설정은  X-Content-Type-Options: nosniff

https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/X-Content-Type-Options

 

X-Content-Type-Options

The X-Content-Type-Options response HTTP header is a marker used by the server to indicate that the MIME types advertised in the Content-Type headers should not be changed and be followed. This is a way to opt out of MIME type sniffing, or, in other words,

developer.mozilla.org

 

repsone data 의 타입과 mime type 이 다를경우 CORB 경고가 출력되면서 ajax 호출 결과
에러가 발생한다.

getCount 의 응답 mime type 은 application/json으로 되어 있는걸 application/javascript으로 변경한 뒤에 
정상적으로 호출되는 것을 확인

 X-Content-Type-Options: nosniff 헤더를 추가한뒤에 

응답 데이타의 mime type을 일치시켜야지 정상적으로 호출된다.

 

반응형