Closed HSOOJ closed 5 years ago
decodeURIComponent
를 unescape
로 바꿨더니 해결되었지만 unescape
는 웹표준에서 제거 되었기 때문에 표준을 따르는 다른 방법을 찾아봐야할 것같다.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/unescape
MDN 을 참고하였을 때 unescape
대신 decodeURI
혹은 decodeURIComponent
을 이용하라고 되어있어서 진행해보았지만 처음과 같은 오류가 발생한다 :(
인코딩 작업을 직접 코드로 작성하지 않고 실행해보면 다음과 같은 결과가 나온다
%20 이 space를 의미한다고 한다.
지금 문제가 발생하는 product name은 "2% Reduced Fat Milk" 인데 이를 인코딩 했을 경우 "2%25%20Reduced%20Fat%20Milk" 이런식으로 %도 인코딩 되어서 %25가 나와야하는데 안나온다,,, 다음은 MDN에서 온라인으로 인코딩 디코딩 해본 캡쳐화면이다.
그래서 정규식을 이용하여 %20을 space로 바꾸는 방식으로 진행하고자 한다.
기존에 사용했던 테스트유저가 아닌 새로운 유저의 정보를 등록한 후 테스트를 진행하였더니 다음과 같이 아무런 정보가 나타나지 않는 문제가 발생하였다.
console 을 확인해보니 javascript 코드에서
Uncaught URIError: URI malformed
라는 오류가 발생하였다.