【问题标题】:AJAX not sending my cookie to NODE JS SERVERAJAX 没有将我的 cookie 发送到 NODE JS SERVER
【发布时间】:2022-02-21 06:33:32
【问题描述】:

我在 NodeJs 中有一个 API,我需要在其中验证令牌以让用户通过该中间件并检索 storeId。 我的 localhost 中有一个带有 ts 键的 cookie: cookie ts in application dev tools

我有我的 AJAX 调用。

$.ajax({
    type:'POST',
    dataType: 'JSON',
    url: 'http://www.localhost:8090/product',
    data: product,
    xhrFields: { withCredentials: true },
    crossDomain: true,
    async: false,
    success: result => {
        console.log(result)
        $('#FormLoading').remove()
    }
})

由于某种原因,它仍然没有发送令牌,但是 在主页仪表板等其他页面中,它可以工作。 response

【问题讨论】:

    标签: javascript node.js cookies


    【解决方案1】:

    ts 密钥用于localhost 域,您正在调用http://www.localhost:8090/product。通常,如果您的 cookie 的域类似于 API URL 的域,cookie 键及其 value 将作为字符串系列自动插入 header 请求中.但是这里你的 cookie 的域是 localhost,而 API 的域是 www.localhost。所以 AJAX 会忽略 cookie。您应该使用通配符设置 cookie 域,在 node js 服务器响应登录请求中生成 cookie 时,或者将 API 的基本 URL 更改为localhost。顺便说一句,这可能会有所帮助How do browser cookie domains work?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-18
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-17
      相关资源
      最近更新 更多