node.js - 为何我将content-type设置为image/jpeg后无法存储cookie?
高洛峰
高洛峰 2017-04-17 14:34:53
[Node.js讨论组]
import Koa from "koa";
import Router from "koa-router";
import request from "supertest";

const app = new Koa();
const router = new Router();
const client = request.agent(app.listen(3000));

router
    .get("/", async (ctx, next) => {

        try {
            let cv = ctx.cookies.get('temp');
            if (cv) {
                console.log(cv)//第二次请求没有获取到cookie的值,cookie没有存储,可能是content-type设置有误
                ctx.type = 'image/jpeg';
                ctx.body = '233';//原本是一个buffer类型数据,这里简略
                ctx.status = 200;
            } else {
                await ctx.cookies.set('temp', '123456', {maxAge: 99999});
                ctx.type = 'image/jpeg';
                ctx.body = '233';
                ctx.status = 200;
            }


        } catch (e) {
            console.log(e)
            ctx.status = 400;
        }

    })

app
    .use(router.routes())
    .use(router.allowedMethods());


describe("test", () => {
    it("1", done => {
        client
            .get('/')
            .expect(200, (err, res) => {
                if (err) {
                    done(err)
                } else {
                    //第一请求是header里有set-cookie
                    cookie = res.header["set-cookie"][0];
                    console.log(cookie);
                    done()
                }
            })
    });
    it("2", done => {
        client
            .get('/')
            .expect(200, done)
    });
})

而我将content-type改为其他类型后,却能正确存储了。
content-type设置为image/jpeg 是有什么问题吗?
我查校过是有image/jpeg这个content-type的。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
阿神

不同的浏览器对于不同的content-type是有不一样的处理的,之前做过浏览器的定制化发现这些处理是由浏览器商自行定制的。所以我猜有可能你给的是image,他逻辑里认为不会有添加cookie这个事。换个浏览器试试?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号