kookmin-sw / 2019-cap1-2019_4

Flex Ads to implement advertising system in offline market
MIT License
10 stars 7 forks source link

DynamoDB 로 부터 받아온 정보가 웹 화면에 뜨지 않는 에러 #62

Closed HSOOJ closed 5 years ago

HSOOJ commented 5 years ago

기존에 사용했던 테스트유저가 아닌 새로운 유저의 정보를 등록한 후 테스트를 진행하였더니 다음과 같이 아무런 정보가 나타나지 않는 문제가 발생하였다.

image

console 을 확인해보니 javascript 코드에서 Uncaught URIError: URI malformed 라는 오류가 발생하였다.

HSOOJ commented 5 years ago

image

decodeURIComponentunescape 로 바꿨더니 해결되었지만 unescape는 웹표준에서 제거 되었기 때문에 표준을 따르는 다른 방법을 찾아봐야할 것같다. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/unescape

HSOOJ commented 5 years ago

MDN 을 참고하였을 때 unescape 대신 decodeURI 혹은 decodeURIComponent을 이용하라고 되어있어서 진행해보았지만 처음과 같은 오류가 발생한다 :(

HSOOJ commented 5 years ago

인코딩 작업을 직접 코드로 작성하지 않고 실행해보면 다음과 같은 결과가 나온다 image

%20 이 space를 의미한다고 한다.

HSOOJ commented 5 years ago

지금 문제가 발생하는 product name은 "2% Reduced Fat Milk" 인데 이를 인코딩 했을 경우 "2%25%20Reduced%20Fat%20Milk" 이런식으로 %도 인코딩 되어서 %25가 나와야하는데 안나온다,,, 다음은 MDN에서 온라인으로 인코딩 디코딩 해본 캡쳐화면이다.

image

HSOOJ commented 5 years ago

그래서 정규식을 이용하여 %20을 space로 바꾸는 방식으로 진행하고자 한다.

image