有没有办法为一个请求设置一个cookie ?

Is there a way to set a cookie for exactly 1 request?

本文关键字:一个 设置 cookie 请求 有没有      更新时间:2023-09-26

我想设置一个cookie(使用JavaScript或jQuery)只发送一次。

我可以在发出请求之前设置一个有效期为1秒的cookie,但这似乎有点微妙。我想知道是否有一种方法可以保证cookie在1个请求中存活,并且只有一个请求…

我已经浏览了MDN上的文档,但没有看到任何符合要求的。

任何想法?

您可以使用AJAX完整处理程序在每次请求后删除cookie。

https://api.jquery.com/ajaxComplete/

$(document).ajaxComplete(function() {
    // delete your cookie
});

有一种方法:

  1. 将cookie的值以JSON格式编码,例如
var c = {"foo":"bar"}
Cookies.set('test',JSON.stringify(c))
  • 为cookie值添加一个nonce值,例如cookie本身的期望过期时间,例如
  • var c = {"foo":"bar","expire_time":1612561366588}
    Cookies.set('test',JSON.stringify(c))
    
  • 过期cookie,在客户端或服务器上使用标准的cookie删除方法,例如
  • var c = JSON.parse(Cookies.get('test'))
    if (c.expire_time < (new Date()).getTime()) {
      Cookies.remove('test')
    }
    

    看这里:)!
    我如何设置/取消设置cookie与jQuery?

    在我的眼里,有答案!