$(function() {
const publicKey = '${publicKey}'; // ๊ณต๊ฐํค ์ ์ฅ
$("form").submit((e) => { // form ํ๊ทธ submit ์ด๋ฒคํธ ํธ๋ค๋ง
// e.preventDefault();
// ์
๋ ฅ๋ฐ์ ํ์ ์ ๋ณด๋ฅผ ํ๋ผ๋ฏธํฐ ํ์์ผ๋ก ํ๊บผ๋ฒ์ ๋ฆฌํด๋ฐ๊ธฐ
const serializedData = $("form").serialize();
// => ํผ์ ๋ํ serialize() ๋ฉ์๋๋ ํผ ๋ฐ์ดํฐ๋ฅผ ์ง๋ ฌํํ๋๋ฐ
// ์ด๋, ์ง๋ ฌํ์ ์๋ฏธ๋ ํผ ๋ฐ์ดํฐ๋ฅผ ํ๋ผ๋ฏธํฐ ํ์์ผ๋ก ์ผ๋ ฌ๋ก ๋์ดํ๋ค๋ ์๋ฏธ
// console.log(serializedData);
// name=bora&id=aa1111&passwd=1234&post_code=&address1=&address2=&email1=&email2=&job=&motivation=
// ------------------------------------------
// URLSearchParams ๊ฐ์ฒด ํ์ฉํ์ฌ URL ํ๋ผ๋ฏธํฐ ํ์ ๋ฐ์ดํฐ๋ฅผ ํค-๊ฐ ์์ ๊ฐ๋ ๊ฐ์ฒด๋ก ๋ณํ
const params = new URLSearchParams(serializedData);
// ํ๋ผ๋ฏธํฐ๋ฅผ ์ ์ฅํ ๊ฐ์ฒด ์์ฑ
let memberData = {};
// URLSearchParams ๊ฐ์ฒด์ entries() ๋ฉ์๋๋ฅผ ํตํด ๋ฐ๋ณต๋ฌธ์ ํ์ฉํ์ฌ
// ๊ฐ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ key์ value๋ก ๋ถ๋ฆฌํ์ฌ result ๊ฐ์ฒด์ ์ถ๊ฐ
for(const [key, value] of params.entries()) {
memberData[key] = value;
}
console.log(memberData); // ํ์๊ฐ์
์ ๋ณด JSON ๋ฌธ์์ด๋ก ๋ณด์ฌ์ง
// ------------------------------------------
// JSEncrypt ๊ฐ์ฒด ์์ฑ
const jsEncrypt = new JSEncrypt();
// JSencrypt ๊ฐ์ฒด์ ๊ณต๊ฐํค ์ ๋ฌ
jsEncrypt.setPublicKey(publicKey);
let encryptedData = jsEncrypt.encrypt(JSON.stringify(memberData));
$("form").prepend("<input type='hidden' name='encryptedData' value='" + encryptedData + "'>");
});
});