먼저 master.html 페이지에는 식품의 목록을 detail.html로 가는 링크로 제공한다.
<!DOCTYPE html><html><head><metacharset="UTF-8"><title>Insert title here</title></head><body><ahref="/bootstraptest/detail.html?code=1&name=메롱">메로나</a><ahref="/bootstraptest/detail.html?code=2&name=아메">아메리카노</a></body></html>
다음으로 detail.html 페이지를 살펴보자.
<!DOCTYPE html><html><head><metacharset="UTF-8"><title>Insert title here</title></head><body><labelfor="code">코드명</label><inputid="code"><br><labelfor="name">상품명</label><inputid="name"></body><scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script><script>let params = newURLSearchParams(location.search);
for(let p of params){
//console.log(p[0], p[1])
$("#"+p[0]).val(p[1]);
}
</script></html>
스크립트 부분을 살펴보면 location.search 값을 이용해서 URLSearchParams를 생성하고 전달된 파라미터를 사용하는 것을 볼 수 있다. URLSearchParams에는 entity라는 것들이 담겨있는데 반복문은 이 entity들을 순회한다. 각 entity에는 [파라미터이름, 파라미터 값] 형태의 배열로 구성되어있다.
전달받은 내용을 화면에 반영하면 아래와 같은 회면을 볼 수 있다.
인코딩에 대해서도 신경쓸 필요가 없이 아주 좋다. 한가지 아쉽다면 데이터를 JSON의 형태로 줬으면 좋겠다는 소박한 바람이 ...