ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Ajax에서 parsererror가 발생하는 경우
    Review Log/IT 2020. 6. 9. 13:57

    다분히 정상적이었다.

    올바른 ajax 호출을 하였으며, Request URL도 정상적이었다.

    컨트롤러, 서비스 또한 정상적이었으며

    백엔드의 로직 처리 또한 정상적이었다.

     

    허나, ajax는 계속 fail을 뱉고 있었다..;;;

     

    대체 왜?

    왜 그런 것일까?

     

    문제는 'dataType', 이놈이었다.

     

    아래는 정상적이지 않은 요청을 했을 경우에 넘어오는 status다.

    {
        readyState: 4,
        getResponseHeader: ƒ,
        getAllResponseHeaders: ƒ,
        setRequestHeader: ƒ,
        overrideMimeType: ƒ,
        …
    }
    abort: ƒ(statusText) always: ƒ()
    catch: ƒ(fn) done: ƒ() fail: ƒ() getAllResponseHeaders: ƒ() getResponseHeader: ƒ(key) overrideMimeType: ƒ(type) pipe: ƒ( /* fnDone, fnFail, fnProgress */ ) progress: ƒ() promise: ƒ(obj) readyState: 4 responseText: ""
    setRequestHeader: ƒ(name, value) state: ƒ() status: 200 statusCode: ƒ(map) statusText: "parsererror"
    then: ƒ(onFulfilled, onRejected, onProgress) __proto__: Object

    status는 200으로 정상 처리가 되었으나 statusText를 보면 "parsererror"인 것이 보인다.

     

    왜 그런고 하니, ajax호출 시 dataType을 "application/json"으로 호출을 하고 있었다.

    그러나 컨트롤러에서 던져주는 데이터는 boolean text..

    이러니 당연히 못 받을 수 밖에ㅠㅠ

     

    dataType을 다시 "text"로 변경하고 시도해보았더니 성공!

     

    오늘도 하나 배워간다.

Designed by Tistory.