首页 > 解决方案 > HttpResponse 设置 Cookie

问题描述

我正在从服务器 B 向服务器 A 发出 POST 请求,服务器 A 应该与 HttpResponse 一起返回一个 cookie,但它从未设置过。

我应该怎么办 ?我应该做一些中间件吗?需要设置域吗?

我将一个值设置为 maxAge,对于 HttpOnly 和 Samesite,我使用的是假值。

这是我的要求:

xhttp.open("POST", " http://analytics:5007/api/pixel ", true);

xhttp.setRequestHeader("Content-Type", "application/json");

xhttp.send(JSON.stringify(params));

这是我的端点:

    public IActionResult Post([FromBody] QCStudent student)
    {
        CookieOptions option = new CookieOptions();
        option.MaxAge = TimeSpan.FromDays(30);
        option.HttpOnly = false;
        option.SameSite = 0;
        Response.Cookies.Append("qcpid", student.studentId, option);
        return Ok();
    }

这应该将我的 studentId 的值设置为我的 cookie“qcpid”,但没有设置任何内容。

我觉得这很奇怪,因为如果我向服务器 B 的控制器发出请求,并使用相同的代码,它就可以工作,我做错了什么?

编辑*:这里有一些图片,希望它能更好地描述我的情况。

设置了 Http 标头

浏览器没有 Set-Cookie 的标头

标签: c#.netcookieshttpresponsesetcookie

解决方案


推荐阅读