ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 230322 TIL
    TIL 2023. 3. 22. 21:27

    html에서 ajax로 서버에 request 보낼 때,

    빈 배열은 아예 제거하고 보내던 문제.

     

                data: {
                  seatsBefore: seatsBeforeEditArrayGlobal,
                  seatsAfter: [],
                },

    이런식으로 보낸다고 하면,

     

    server쪽에서는 

    seatsAfter 배열이 아예 사라진 채로 들어온다.

     

    근데 ajax가 아니라 thunderClient같은 api 테스트 어플리케이션에서는 빈 배열 송신이 잘 된다

     

     

     

    이것때문에 골머리를 앓아서 범준튜터님께 헬프요청을 했더니

    범준튜터님께서 해결을 해주셨다..! 갓범준.. 😂

     

     

    우선 개발자도구 request header에 보면

    기본적인 ajax 구성으로 전송 시,

    Content-Type이 json인 상태로 전송되지 않고 x-www-form-urlencoded 인 상태로 전송이 되어

    빈 배열을 소거시키는 작업이 이루어지는듯.

     

    튜터님께서 ajax 공식문서도 찾아보고 구글링도 해보셨지만 이와 관련된 내용은 없었어서 튜터님께서도 처음 보는 경우라고 하셨었다 🙄 

     

    해결방법은,

     

     

    ajax 안에서 바로 data: { } 식으로 입력하지 말고,

    dictionary 형태로 미리 sendData를 선언 하고,

    JSON.stringify()로 JSON 문자열 형태로 변경한 뒤,

     

    contentType을 application/json 형태라고 명시적으로 적어서 보내면 잘 된다!

     

    굿!!!!!!!!!

    'TIL' 카테고리의 다른 글

    230402 TIL  (0) 2023.04.03
    230329 TIL  (0) 2023.03.29
    230315 TIL  (1) 2023.03.16
    230314 TIL (2)  (0) 2023.03.15
    230314 TIL  (1) 2023.03.14
Designed by Tistory.