koa框架学习记录(7)

简介: 一个前端学习koa的简单记录

Koa2中使用cookie
koa的上下文(ctx)直接提供了读取和写入cookie的方法
ctx.cookies.get(name,[optins]):读取上下文请求中的cookie。
ctx.cookies.set(name,value,[options]):在上下文中写入cookie。
写入Cookie操作:

const Koa  = require('koa');
const app = new Koa();

app.use(async(ctx)=>{
    if(ctx.url=== '/index'){
        ctx.cookies.set(
            'MyName','JSPang'
        );
        ctx.body = 'cookie is ok';
    }else{
        ctx.body = 'hello world'
    }
});

app.listen(3000,()=>{
    console.log('[demo] server is starting at port 3000');
})

打开F12可以在Application中找到Cookies选项。就可以找到我们写入的name和value了。

Cookie选项
比如我们要存储用户名,保留用户登录状态时,你可以选择7天内不用登录,也可以选择30天内不用登录。这就需要在写入是配置一些选项:
domain:写入cookie所在的域名
path:写入cookie所在的路径
maxAge:Cookie最大有效时长
expires:cookie失效时间
httpOnly:是否只用http请求中获得
overwirte:是否允许重写

const Koa  = require('koa');
const app = new Koa();
 
app.use(async(ctx)=>{
    if(ctx.url=== '/index'){
        ctx.cookies.set(
            'MyName','JSPang',{
                domain:'127.0.0.1', // 写cookie所在的域名
                path:'/index',       // 写cookie所在的路径
                maxAge:1000*60*60*24,   // cookie有效时长
                expires:new Date('2018-12-31'), // cookie失效时间
                httpOnly:false,  // 是否只用于http请求中获取
                overwrite:false  // 是否允许重写
            }
        );
        ctx.body = 'cookie is ok';
    }else{
        ctx.body = 'hello world'
    }
});
 
app.listen(3000,()=>{
    console.log('[demo] server is starting at port 3000');
})


读取Cookie:
const Koa  = require('koa');
const app = new Koa();
 
app.use(async(ctx)=>{
    if(ctx.url=== '/index'){
        ctx.cookies.set(
            'MyName','JSPang',{
                domain:'127.0.0.1', // 写cookie所在的域名
                path:'/index',       // 写cookie所在的路径
                maxAge:1000*60*60*24,   // cookie有效时长
                expires:new Date('2018-12-31'), // cookie失效时间
                httpOnly:false,  // 是否只用于http请求中获取
                overwrite:false  // 是否允许重写
            }
        );
        ctx.body = 'cookie is ok';
    }else{
        if( ctx.cookies.get('MyName')){
            ctx.body = ctx.cookies.get('MyName');
        }else{
            ctx.body = 'Cookie is none';
        }
      
    }
});
 
app.listen(3000,()=>{
    console.log('[demo] server is starting at port 3000');
})
相关文章
|
4月前
|
JavaScript 前端开发
vue3教程,如何手动获取后端数据(入门到精通3,新人必学篇)
本文提供了一个Vue 3教程,讲解了如何使用axios库手动从后端获取数据,包括安装axios、配置后端访问地址、编写路由地址、发起HTTP请求以及在组件中读取和打印响应数据的步骤。
702 0
vue3教程,如何手动获取后端数据(入门到精通3,新人必学篇)
|
JSON 前端开发 API
从零开始学习React-axios获取服务器API接口(五)
从零开始学习React-axios获取服务器API接口(五)
123 0
|
前端开发
前端学习笔记202303学习笔记第四天-Vue3.0-基本代码和MVVM的对应关系
前端学习笔记202303学习笔记第四天-Vue3.0-基本代码和MVVM的对应关系
87 0
|
JavaScript 前端开发 中间件
前端网红框架的插件机制全梳理(axios、koa、redux、vuex)
前端中的库很多,开发这些库的作者会尽可能的覆盖到大家在业务中千奇百怪的需求,但是总有无法预料到的,所以优秀的库就需要提供一种机制,让开发者可以干预插件中间的一些环节,从而完成自己的一些需求。
|
缓存 NoSQL JavaScript
|
JSON JavaScript 前端开发
koa框架学习记录(3)
一个前端学习koa的简单记录
|
前端开发
koa框架学习记录(5)
一个前端学习koa的简单记录
|
JavaScript 前端开发 中间件
koa框架学习记录(6)
一个前端学习koa的简单记录
|
前端开发 中间件
koa框架学习记录(4)
一个前端学习koa的简单记录
|
JavaScript 前端开发
koa框架学习记录(1)
一个前端学习koa的简单记录