koa2使用注意点总结
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','')