-
230322 TILTIL 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