欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

koa2使用注意点总结

程序员文章站 2023-04-03 11:18:46
post请求,ajax传入的参数获取的时候为ctx.request.body get请求,ajax传入参数获取的时候为ctx.request.query.参数名 koa-csrf可以设置什么请求的时候除外,这样除外的请求就不要求必须传csrf 了 koa mongoose始终报错FormModel ......

post请求,ajax传入的参数
获取的时候为ctx.request.body

get请求,ajax传入参数
获取的时候为ctx.request.query.参数名

koa-csrf
可以设置什么请求的时候除外,这样除外的请求就不要求必须传csrf 了

koa mongoose始终报错FormModel is not defined
但是明明定义了,这时候就要看大小写了,当创建一个model实例的时候,往往会起和model实例一样的名称,这时一定要区分大小写,或者干脆起一个别的名称,否则就是千年巨坑,一直报错找不到!!!!


Model.findById(id, function (err, doc){}
id是字符串或者ObjectId格式的

mongoose
批量删除记录:
Movie.remove({ _id: { $in: ['aID', 'bID'] } });
多条件查询同理:
Movie.find({ _id: { $in: ['aID', 'bID'] } });
行内事件写方法名必须加引号

ctx.type = 'text/plain; charset=utf-8';

发现:get请求传递参数都为字符串,如果传递的是一个数组,他会自动变为 []=1&[]=2...... 参数名称在后台中存的格式为idArr[],nodejs不好获取,可以改为post方式传递


koa引入静态文件资源,要在app.js中用koa-static注册静态资源路径

koa-session
key 其实就是值存的这个session叫什么名,

ctx.cookies.get() and ctx.cookies.set() 设置和获取其他cookie
浏览器cookie存储有字节限制,所以可以通过redis、mongo或者其他数据库来做一个store库存储session

cookie中的sessionid是session识别客户端的一种方式
还可以通过url等方式

koa设置前端cookie
ctx.cookies.set('username','')
ctx.cookies.set('userId','')