//设置一个路由--不使用模块化
let express = require('express');
//开启一个服务器
let app = new express();
//不使用模块化设置路由接口
app.get('/home', (req, res) => {
res.send('home页面');
});
//定义一个userlist路由,通过get形式提交表单数据。
//访问地址:http://localhost:3000/userlist
//url地址栏的参数字符串 username=erge&age=18
//可以通过req.query来获取参数
app.get('/userlist', (req, res) => {
//获取get方式表单提交的参数
console.log(req.query);
res.send(req.query.username);
});
//面试题
/*
写一个restful格式的接口,并且获取参数
//访问地址:http://localhost:3000/product/100/200
//restful格式接口的路由
*/
app.get('/product/:pid/:cid', (req, res) => {
//来获取restful格式的参数
console.log(req.params);
});
//监听端口号
app.listen(3000, () => {
console.log('3000runing');
});
router文件夹下的user_router
//引入express模块
let express = require('express');
//实例化一个router对象
let router = express.Router();
//配置路由
//访问地址: http://localhost:3000/api/home
router.get('/home', (req, res) => {
res.send('home页面');
});
//导出模块
module.exports = router;
02-路由模块化.js
//引入express模块
let express = require('express');
//生成一个服务器对象
let app = new express();
//引入自定义路由模块
let userRouter = require('./router/user_router');
//使用自定义模块
app.use('/api', userRouter);
//监听端口号
app.listen(3000, () => {
console.log('3000running');
});
DOCTYPE html>
<html lang="en">
<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>Documenttitle>
head>
<body>
body>
<script>
//cookie是什么?
/*
1.存储于访问者电脑中的变量。当一个用户通过浏览器通过浏览器访问服务器上班的某个页面,JavaScript会创建或读取cookie
2.cookie是document文档对象上边的一个属性
3.不同域名之间cookie是不共享的(不能跨域访问)
*/
// 如何创建一条cookie
// 语法:document.cookie="属性=值"
document.cookie = 'username=haogu';
document.cookie = "age=18"
//设置cookie自动清除
let oDate = new Date(); //获取电脑中的当前时间
oDate.setDate(oDate.getDate() + 1); //设置1天之后清除cookie
document.cookie = 'sex=man;expires=' + oDate; //设置一条cookie并设置有效期
//expires单词意思有效期
//注意:cookie一般以天为单位,cookie里存储的是字符串
script>
html>
DOCTYPE html>
<html lang="en">
<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>Documenttitle>
head>
<body>
body>
<script>
//获取cookie(全部的)
console.log(document.cookie);
console.log(typeof document.cookie); //string类型
//获取所有的cookie,得到的是一个字符串
let str = document.cookie;
//注意:分号后面有一个空格 ['username=haogu','age=18','sex=nan','user=二哥']
let arr = str.split('; ');
//遍历arr
for (let i = 0; i < arr.length; i++) {
let arr2 = arr[i].split('=');
if (arr2[0] == 'username') {
console.log(arr2[1]);
}
}
script>
html>
DOCTYPE html>
<html lang="en">
<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>Documenttitle>
head>
<body>
body>
<script>
//面试题:封装一个方法setCookies设置cookie
//name 名称 value值 expires 有效期(天)
function setCookies(name, value, expires) {
let oDate = new Date();
oDate.setDate(oDate.getDate() + expires);
document.cookie = name + '=' + value + ';expires=' + oDate;
}
setCookies('user', 'ergege', 3);
//面试题:获取cookie方法,封装一个方法getCookies(),传入一个属性参数,可以获取对应的属性值
function getCookies(name) {
//获取所有的cookie,得到的是一个字符串
let str = document.cookie;
//注意:分号后面有一个空格 ['username=haogu','age=18','sex=nan','user=二哥']
let arr = str.split('; ');
//遍历arr
for (let i = 0; i < arr.length; i++) {
let arr2 = arr[i].split('=');
if (arr2[0] == name) {
return arr2[1];
}
}
}
console.log(getCookies('username'));
console.log(getCookies('age'));
//面试题:封装一个removeCookies,删除cookie
//将有效期设置为昨天,cookie有效期到了之后就会消失
function removeCookies(name) {
setCookies(name, '这里的value可以任何', -1);
}
removeCookies('age');
removeCookies('sex');
removeCookies('user');
removeCookies('username');
// 总结
// cookie是什么?
// cookie是存储于用户计算机中的变量
// 当一个用户通过计算机中的浏览器,访问服务器上边的某个页面,JavaScript会创建或者读取cookie
// 不同域名之间cookie是不共享的(不能跨域访问)
// cookie是document文档对象上边的一个属性
// cookie的作用?
// 1、通常用于验证用户的登录状态,当用户访问某个网站的登录页面是,可以用cookie记录登录的状态,等到下次再登录的时候就可以不用输入用户名和密码,免密登录了
// 2、如果是商城网站,可以用cookie记录用户浏览商品的历史(临时存储浏览商品的历史)
// 3、a页面存储cookie,在b页面读取cookie,从而达到ab页面通信
script>
html>
//在node环境下使用cookie
//cookie必须在服务器环境下打开
//1.node中使用需要下载cookie-parser模块
//cnpm install cookie-parser --save;
//2.引入cookie-parser模块
let cookieParser = require('cookie-parser');
let express = require('express');
let app = new express;
//3.使用cookie-parser模块
app.use(cookieParser());
//4.配置路由,设置cookie
app.get('/setcookie', (req, res) => {
//设置cookie res.cookie(name,value,{maxAge:时间})
res.cookie('userage', '20', {
maxAge: 24 * 60 * 60 * 1000 //maxAge写成毫秒数
});
res.send('cookie设置成功');
});
//5.配置路由,获取cookie
app.get('/getcookie', (req, res) => {
//获取cookie(获取的是对象)
console.log(req.cookies);
res.send('控制台获取成功');
});
app.listen(3000, () => {
console.log('3000running');
});
let cookieParser = require('cookie-parser');
let express = require('express');
let app = new express;
// 可以传递一个字符串参数作为密钥,用来加密cookie的
// 字符串越复杂加密越复杂
// 加密就是为了安全--在浏览器中存储的不安全所以要加密(签名)
app.use(cookieParser('dhfdhfjhfj'));
app.get('/setcookie', (req, res) => {
res.cookie('userage', '20', {
maxAge: 24 * 60 * 60 * 1000,
signed: true //加密(签名)
});
res.send('cookie设置成功');
});
app.get('/getcookie', (req, res) => {
//获取加密的cookie(获取的是对象)
console.log(req.signedCookies); //读取未签名的 { username: 'erge' }
res.send('控制台获取成功');
});
app.listen(3000, () => {
console.log('3000running');
});