安全性
-删除数据库表中的数据是一件有一定危害操作
-大公司;小公司;
-小公司工作:备份数据库中数据
技巧 删除操作之前要让用户再次确认 #防止误操作
(1)分析
--请求方式 delete
--请求地址 http://127.0.0.1:3000/pro/v1/delUser/9
--请求参数 uid
--服务器返回结果 1删除成功 0删除失败 #学习练习
"{code:1,msg:'删除成功'}"
"{code:0,msg:'删除失败'}"
"{code:-2,msg:"未登录"}"
08_list.html
-不用创建新网页完成删除用户操作
-<a href="javascript:;" onclick="delete2()">删除</a>
名称冲突 浏览器使用delete 不允许你用,改个名字
跳转
-delete 请求五步可能同GET
常见错误:
Uncaught SyntaxError: Unexpected number in JSON at position 1
原因:当程序调用JSON.parse(); 转换字符串为对象时,字符串格式不是对象
根源:服务器 res.send(!!!!!!); 调试任务
2.2:更新用户邮件地址(先完整分析完再讲)
-分析
--请求方式 put-->post
--请求地址 http://127.0.0.1:3000/pro /v1/update
--请求参数 uid email
--服务器返回值 1成功 0失败
<a href="09_update.html?email= ${obj[i].email} &uid=${obj[i].uid}">更新</a>
#3:09_update.html
(3.1)创建表单 表单✉️按钮 14:17 完成表单创建
(3.2)将原先邮件地址添加表单中
–浏览器地址栏[?email=aaa@a.com&uid=10]
–location.search获取浏览器数据
扩展:获取浏览器地址栏完成数据 location.href
–如何将地址栏数据var obj = new URLSearchParams(location.href);
#功能将地址栏数据转 js对象
#var e = obj.get(“email”);
#var uid = obj.get(“uid”);
#(3.3)将uid用户编号添加表单中
( 3.4)添加按钮修改
(3.5)修改跳转
session对象
-分析session功能
session对象在服务器端保存用户登录凭证对象
#通常在网站当用户登录成功将uid保存 session对象 示例:uid=15
#当用户查询用户列时,判断session 有uid=15 己经登录成功
没 未登录
#生活中 大型游乐手环
-实现
服务器端实现
# (1)下载第三方模块 express-session #npm i express-session
(2)配置 app.js
(2.1)引入express-session模块 const session = require("express-session");
(2.2)配置
app.use(session({
name: 'session-id', #给session对象指定名称
secret: '12345-67890', #指定字符串加密时钥匙
saveUninitialized: true, #初始化保存
resave: true #更新时保存数据
}))
(2.3)使用
(1)当用户登录成功后把uid保存session对象中
req.session.auth = true;
(2)所有功能 list del update ... 第一句判断登录成功
if(!req.session.auth){
res.send({code:-2,msg:"请登录"});
return;
}
客户端实现:
如果当前功能支持session 小心 ajax变成 6步;post 变成7步
(1)创建对象
var xhr = new XMLHttpRequest();
(2)多一步:保存session数据添加属性#在客户端加密保存session数据
xhr.withCredentials = true;