>  기사  >  웹 프론트엔드  >  페이지 간 데이터 전송을 구현하는 js 코드

페이지 간 데이터 전송을 구현하는 js 코드

不言
不言원래의
2018-08-13 15:41:302664검색

이 문서의 내용은 페이지의 데이터 전송을 위한 js 구현 코드에 대한 것입니다. 필요한 친구가 참고할 수 있기를 바랍니다.

이전 인터뷰에서 이런 질문을 받았기 때문에 오늘 정리했습니다. 제 기술적인 한계로 인해 잘못된 부분이 있으면 지적해주시면 감사하겠습니다.

이 블로그에서는 한 페이지 레이어에서 다른 페이지 레이어로 매개변수를 전달하는 두 가지 방법을 요약합니다.

1. 쿠키 방법을 통해

1. 여기에서 a.html

请输入用户名和密码:
<input id="userName" type="text" />
<input id="passwords" type="password" />
<button id="btn">设置</button>
<button onclick="login()">传递cookie</button>
<button onclick="deletecookie()">删除</button>

2.a.html js 코드

//设置cookie
var setCookie = function (name, value, day) {
    //当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除
    var expires = day * 24 * 60 * 60 * 1000;
    var exp = new Date();
    exp.setTime(exp.getTime() + expires);
    document.cookie = name + "=" + value + ";expires=" + exp.toUTCString();
};
//删除cookie
var delCookie = function (name) {
    setCookie(name, &#39; &#39;, -1);
};
//传递cookie
function login() {
    var name = document.getElementById("userName");
    var pass = document.getElementById("passwords");
    setCookie(&#39;userName&#39;,name.value,7)
    setCookie(&#39;password&#39;,pass.value,7);
    location.href = &#39;b.html&#39;
}
function deletecookie() {
    delCookie(&#39;userName&#39;,&#39; &#39;,-1)
}

3으로 정의된 쿠키 페이지의 HTML을 전달합니다. html

<button onclick="getcookie()">获取</button>

4. b.html

//获取cookie代码
var getCookie = function (name) {
    var arr;
    var reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    if (arr = document.cookie.match(reg)){
        return arr[2];
    }
    else
        return null;
};
//点击获取按钮之后调用的函数
function getcookie() {
    console.log(getCookie("userName"));
    console.log(getCookie("password"))
}

2. url을 통해 매개변수를 전달하는 방법

이 경우에도 a.html에서 b.html 페이지로 매개변수를 전달하는 방법

1. a.html

<input type="text" value="猜猜我是谁">
<button onclick="jump()">跳转</button>

2. 입력 태그의 값을 b.html

function jump() {
    var s = document.getElementsByTagName(&#39;input&#39;)[0];
    location.href=&#39;7.获取参数.html?&#39;+&#39;txt=&#39; + encodeURI(s.value);
}

3에 전달하려면 점프 버튼을 클릭하세요. b.html

<p id="box"></p>
var loc = location.href;
var n1 = loc.length;
var n2 = loc.indexOf(&#39;=&#39;);
var txt = decodeURI(loc.substr(n2+1,n1-n2));
var box = document.getElementById(&#39;box&#39;);
box.innerHTML = txt;

3의 코드는 localStorage

와 비슷합니다. 매력적인 여자. 하지만 주의하세요. localStorage 개체에 액세스하려면 페이지가 동일한 도메인 이름(하위 도메인 이름은 유효하지 않음)에서 오고, 동일한 프로토콜을 사용하고, 동일한 포트에 있어야 합니다.

1.js 파일은 a.html

//将localStorage传递到哪个页面
location.href = &#39;b.html&#39;
//设置localStorage
window.localStorage.setItem(&#39;user&#39;,&#39;haha&#39;);

2. 파일은 .b.html

<button onclick="getcookie()">获取</button>
function getcookie() {
    //获取传递过来的localStorage
    console.log(window.localStorage.getItem('user'))
}

관련 권장 사항:

jQuery에서 일반적으로 사용되는 메서드는 무엇입니까(코드 포함)

js의 데이터 객체 사용법에 대한 자세한 소개(코드 포함)

위 내용은 페이지 간 데이터 전송을 구현하는 js 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.