Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- typescript
- 2022
- React Native
- 폰트적용하기
- 타입좁히기
- 개발콘텐츠
- 제네릭
- 타입스크립트
- JS console
- 리액트
- React.js
- returnType
- CSS
- utilty type
- 누구나 자료구조와 알고리즘
- Chart.js
- 커스텀
- vue.js
- react
- TSDoc
- javascript
- NonNullable
- click and drag
- 공통컴포넌트
- 티스토리꾸미기
- 반복줄이기
- 성능최적화
- const 단언문
- reactjs
- 레이아웃쪼개기
Archives
- Today
- Total
몽땅뚝딱 개발자
[Javascript] 특수문자 [ ] %가 인코딩이 되지 않는 문제 해결하기 본문
chrome과 axios에서는 기본적으로 URL에 percent-decoding(=%인코딩)을 하지만 특수하게 [, [, %는 인코딩하지 않고 서버에 전달한다. axios에서 보내는 파라미터를 자바스크립트 내장 객체인 encodeURI() 혹은 encodeURIComponent()를 사용하여 보낼 수도 있지만 axios에서 문자열을 한번 더 %인코딩하여 '%'가 '%25'로 인코딩되는 문제가 생긴다. (그래서 톰캣 7.x 버전 이상의 서버인 경우 한번 더 인코딩을 처리해줘야 하는 문제가 생긴다.)
💡 %인코딩이란?
Percent-encoding은 URL 맥락에서 특정 의미를 갖는 8비트 문자로 인코딩하는 메커니즘으로 URL 인코딩이라고도 한다.
인코딩은 '%' 다음에 변경할 문자를 ASCII 값으로 표현되는 16진수가 위치하는 대체 문자열로 구성된다.
URLSearchParams 타입의 object를 주입하게 되면 URLSearchParams.toString()을 사용하여 요청 URL을 생성하기 때문에 인코딩되어 전송되어 서버에서 따로 처리해 줄 필요가 없다!
const params = new URLSearchParams();
params.append('filter', 'PRICE_ASC')
출처 및 참고
https://ykh6242.tistory.com/entry/tomcat-요청된-URL에-와-가-포함되면-톰캣-웹-서버가-받아주지-않는-이유와-해결책
'Development > Javascript' 카테고리의 다른 글
[Javascript] npm vs. npx vs. yarn (0) | 2024.05.02 |
---|---|
[Javascript] iframe에서 상위 ↔ 하위 간 통신을 해보자 (0) | 2024.01.27 |
[Javascript] 교차 출처일 때 제한되는 메서드와 속성 (0) | 2024.01.27 |
[Javascript] readyState란? (feat. DOMContentLoaded) (0) | 2024.01.27 |
[Javascript] 썸네일 인터랙션 구현하기 (0) | 2024.01.25 |
Comments