Notice
Recent Posts
Recent Comments
Link
투케이2K
86. (javascript/자바스크립트) location href 사용해 특정 페이지 접속 시 url 데이터 전송 및 url 데이터 확인 실시 본문
JavaScript
86. (javascript/자바스크립트) location href 사용해 특정 페이지 접속 시 url 데이터 전송 및 url 데이터 확인 실시
투케이2K 2021. 7. 5. 11:53/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : Edit++
개발 언어 : javascript
/* =========================== */
/* =========================== */
[소스 코드]
<!-- 접속 요청 및 데이터를 보내는 페이지 -->
<script>
/*
[JS 요약 설명]
1. window.onload : 웹페이지 로드 완료 상태를 나타냅니다
2. location.href : 특정 링크로 페이지를 이동할 때 사용합니다
3. 참고 : get 방식, 쿼리 파람 형태로 데이터를 전송합니다
*/
/* [html 최초 로드 및 이벤트 상시 대기 실시] */
window.onload = function() {
console.log("");
console.log("[a_test_one] : [window onload] : [start]");
console.log("");
// [이벤트 함수 호출]
intentDefaultPage();
};
/* [이벤트 수행 함수] */
function intentDefaultPage(){
console.log("");
console.log("[intentDefaultPage] : [start]");
console.log("");
// [인텐트 이동할 페이지 및 데이터 선언 실시]
var url = "../WebProject/a_test_default.html?";
var data = "idx=1&name=twok";
console.log("");
console.log("[intentDefaultPage] : [url] : " + url);
console.log("[intentDefaultPage] : [data] : " + data);
console.log("");
// [location 사용해 인텐트 이동 실시]
location.href = url + data; // 새로운 페이지로 이동 (뒤로가기 페이지 가능)
};
</script>
<!-- 접속 완료 및 데이터 받는 쪽 페이지 -->
<script>
/* [html 최초 로드 및 이벤트 상시 대기 실시] */
window.onload = function() {
console.log("");
console.log("[a_test_two] : [window onload] : [start]");
console.log("");
// [location url 정보 출력]
var url = location.href;
console.log("");
console.log("[a_test_two] : [window onload] : [url] : " + url);
console.log("");
// [파라미터 파싱 실시]
var idx = url.indexOf("?");
if(idx >= 0){ //파라미터가 존재하는 경우
idx = idx + 1;
var data = url.substring(idx, url.length);
console.log("");
console.log("[a_test_two] : [window onload] : [Data] : " + data);
console.log("");
//반복문을 수행하면서 & 연속 데이터가 포함된지 확인
var count = 0;
for(var i=0; i<data.length; i++){
if(data[i] == "&"){
count ++; //카운트 증가
}
}
//파라미터 저장된 개수 확인
var data_Array = [];
for(var k=0; k<=count; k++){
data_Array.push(data.split("&")[k]);
}
//key 배열 data 배열 선언 및 데이터 삽입 실시
var key_Array = [];
var value_Array = [];
for(var j=0; j<data_Array.length; j++){
var str_data = data_Array[j];
key_Array.push(str_data.split("=")[0]);
value_Array.push(str_data.split("=")[1]);
}
console.log("");
console.log("[a_test_two] : [window onload] : [data_Array] : " + data_Array);
console.log("[a_test_two] : [window onload] : [key] : " + key_Array);
console.log("[a_test_two] : [window onload] : [value] : " + value_Array);
console.log("");
}
};
</script>
/* =========================== */
/* =========================== */
[결과 출력]
/* =========================== */
/* =========================== */
[요약 설명]
/*
[JS 요약 설명]
1. window.onload : 웹페이지 로드 완료 상태를 나타냅니다
2. sweetalert : 브라우저에서 커스텀 다이얼로그 팝업창을 사용할 수 있습니다
3. 공식 사이트 : https://sweetalert.js.org/guides/
*/
/* =========================== */
반응형
'JavaScript' 카테고리의 다른 글
Comments