
<!DOCTYPE html>
<html>
<head>
<title>getSend</title>
</head>
<body>
<h1>데이터 보내는 화면</h1>
<form action="getShow.html" method="GET">
<label for="name">이름:</label>
<input type="text" id="name" name="name" required />
<input type="submit" value="데이터 보내기(To getShow)" />
</form>
</body>
</html>
태그의 action` 속성에 수신 대상인 getShow.html 파일을 지정하여 데이터를 전송할 대상을 설정합니다.method 속성을 GET으로 지정하여 GET 방식으로 데이터를 전송합니다.<!DOCTYPE html>
<html>
<head>
<title>getShow</title>
</head>
<body>
<h1>받은 데이터 보여주기</h1>
<script>
// URL에서 쿼리 파라미터 가져오기
function getUrlParameter(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)");
var results = regex.exec(window.location.search);
return results === null
? ""
: decodeURIComponent(results[1].replace(/\+/g, " "));
}
// 이름 데이터 가져오기
var name = getUrlParameter("name");
if (name) {
document.write("<p>getSend 화면에서 전송된 이름: " + name + "</p>");
} else {
document.write("<p>이름 데이터가 전송되지 않았습니다.</p>");
}
</script>
</body>
</html>
getUrlParameter() 함수를 통해 name 파라미터 값을 가져오고, 이를 화면에 출력합니다.name 값이 존재하면 A 화면에서 전송된 이름을 출력하고, 그렇지 않으면 이름 데이터가 전송되지 않았음을 출력합니다.., ^, $, *, +, ?, |, (), [], {} 등[abc], [^abc], \d, \w, \s 등i: 대/소문자 구분 없이 검색g: 모든 일치 항목 검색m: 여러 줄 검색s: .이 개행 문자와 일치하도록 함u: Unicode 지원y: 마지막 일치 항목부터 검색decodeURIComponent() 함수는 JavaScript의 표준 내장 객체로, URI(Uniform Resource Identifier) 구성 요소를 디코딩하는 데 사용됩니다."https://example.com?q=hello%20world" 에서 "hello world"를 추출할 수 있습니다.

<!DOCTYPE html>
<html>
<head>
<title>getSendTest</title>
</head>
<body>
<h1>irishNoah Get Sending Screen</h1>
<form action="getShowTest.html" method="GET">
<label for="name">이름:</label>
<input type="text" id="name" name="name" required /><br />
<label for="name">전화번호:</label>
<input type="text" id="phone" name="phone" required />
<br /><br />
<input type="submit" value="데이터 보내기(To getShow)" />
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>getShowTest</title>
</head>
<body>
<h1>irishNoah Get Showing Screen</h1>
<script>
const getUrlParameter = (value) => {
value = value.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
let regex = new RegExp("[\\?&]" + value + "=([^&#]*)");
let results = regex.exec(window.location.search);
return results === null
? ""
: decodeURIComponent(results[1].replace(/\+/g, " "));
};
// 이름 데이터 가져오기
let name = getUrlParameter("name");
if (name)
document.write("<p>getSend 화면에서 전송된 이름: " + name + "</p>");
else document.write("<p>이름 데이터가 전송되지 않았습니다.</p>");
// 전화번호 데이터 가져오기
let phone = getUrlParameter("phone");
if (phone)
document.write(`<p>getSend 화면에서 전송된 전화번호: ${phone}</p>`);
else document.write(`<p>전화번호 데이터가 전송되지 않았습니다.</p>`);
</script>
</body>
</html>


Get을 통해서 데이터가 어떻게 전송되는지 확인하는 좋은 경험을 한 것 같다.
더 좋았던 점은 AI 뤼튼을 통해 얻은 코드를 보고 아 이런 원리로 돌아가는구나에서 멈추지 않았다는 점이다.
우선, 뤼튼 소스 코드에서 처음 보는 메서드가 어떤 역할을 수행하는지 확인했던 점, 더 나아가 내 코드를 만들기 위해 별도의 Test 파일을 만들어 시행한 것이 매우 좋은 자세라 생각한다.
Vanila JS를 통해 데이터 송수신 원리를 파악했다. 이제는 Node.js 등의 서버를 통해 데이터 송수신 작업을 해봐야겠다.