分析
- 第一个登陆页面有提交表单,action提交到index.html页面
- 第二个页面可以使用第一个页面的参数,实现一个数据不同页面之间传递的效果
- 第二个页面之所以可以使用第一个页面的数据,是利用了url里面的location.search参数
- 在第二个页面中使用substr去掉"?"提取参数,利用"="分隔键和值 split('=');
代码
login.html
<!DOCTYPE html>
<html lang="Zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>login</title>
</head>
<body>
<form action="index.html">
用户名<input type="text" name="uname">
<input type="submit" value="登录">
</form>
</body>
</html>
index.html
<!DOCTYPE html>
<html lang="Zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>index</title>
</head>
<body>
<div></div>
<script>
console.log(location.search);
//去掉"?" substr('起始的位置', 截取几个字符); params 参数
var params = location.search.substr(1);
console.log(params);
//利用"="把字符串分割为数组 split('=');
var arr = params.split('=');
name = arr[1];
//使用decodeURI()方法将url中转码的中文乱码转换回中文
name=decodeURI(name);
console.log(name);
var div = document.querySelector('div');
div.innerHTML = name + ' 欢迎您!';
</script>
</body>
</html>
注意:
url经过转码后中文字符会变成乱码,可以使用decodeURI()方法把中文的乱码字符转换为中文