koa2使用注意點總結

蓓蕾心晴發表於2018-07-06

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`,“)

相關文章