asios.post URL, parameter 를 전송할 때 특수문자 때문에 400 에러가 나는 경우가 많다.

구글링 해보면 encodingURL 등등을 사용하라 해서 넣어봤지만 매끄럽지 않았다.

주로 오류 나는 것이 &, %, # 등등..
이걸 전부 다 replaceAll 해주기엔 한계가 있다.

물론, 정규식으로 체크하는 로직은 몇 줄이면 해결 되지만..

한번 인코딩 하면 다시 받아올 때 디코딩을 해줘야 하고.. 여간 번거로운일이 아닐 수 없다.

Node.js를 사용하는 FrontEnd 환경에선
qs 라이브러리를 사용하자.

매우 쉽다. 상단에 1줄 선언 하고 사용하면 그만임.

const qs = require('qs');
axios.post('http://something.com/', qs.stringify({ foo: 'bar#$&' }));

출처: Axios 러닝 가이드

+ Recent posts