JQuery ajax() 네트워크 오류 "ERR_CONNECTION_REFUSED" 핸들링

2018. 1. 17. 10:35모두모두 개발자다요/javascript

오픈 소스 API 와 통신하는 ajax function 에서 느닺없이 먹통이 되길래

"ERR_CONNECTION_REFUSED"


알고 보니, 보안 담당 조직에서 내부망에서 API 서버와의 네트워크를 차단했단다.. 

("보안" 강화 조치라고 씨부려도 "적폐" 강화 조치라고 판단할 수 밖에 없음;;)


fail 이라는 function 을 쓰면 ajax 통신 네트워크 오류를 캐치할 수 있다는 정보를 발견했는데...


$.ajax({

    url : '//api.opensrcurl',

    dataType : 'jsonp',

    timeout : 3000,

    ....

    , 

    success : function () {

        ....

    },

    error : function () {

        console.log('1. error 를 타고...');

    }

}).fail(function (jqXHR, textStatus, errorThrown) {

    console.log('2. fail 을 탄다 : ' + errorThrown);

});


주의할 점은 반드시 timeout 옵션을 명시해야 fail() 이 먹힌다는 것!!