gpt4 book ai didi

jquery - 正在删除 Cookie

转载 作者:行者123 更新时间:2023-11-30 23:45:45 25 4
gpt4 key购买 nike

我有一个 asp.net mvc 应用程序,并且发生了奇怪的事情,但我不知道为什么。

上下文:

我有一个允许用户绘制和编辑图像的页面。该页面有一个功能,每 5 分钟,她使用 jquery 对服务器进行一次 ajax 调用,将项目的当前状态保存在数据库中,并再次调用以保存项目的图像存放在适当的地方。

问题:

在浏览器最小化的情况下,启动此功能后,在对服务器进行 ajax 调用后,cookie 客户将删除。但是当镶边最大化时,效果很好。

注释:

  1. 只有在浏览器最小化时才会发生这种情况
  2. 至少在 Chrome 和 Firefox 中,这种情况正在发生。
  3. 这仅发生在生产环境中。在我的本地计算机和 Visual Studio 上我无法重现该问题
  4. 维护 asp.net session cookie

我知道仅凭这些信息对您来说很难提供帮助,但是,如果您能给我线索,那将非常有帮助。我试图揭露这个问题,以便我们可以匹配类似的问题,找到针对此案例的最佳解决方案。

提前谢谢

[编辑]:

我对这个问题有一些新的认识:

  1. 使用 Chrome 版本 63.0.3239.84(官方版本)(64 位);
  2. Firefox 量子 57.0(64 位);
  3. 与我最初的想法相反,即使浏览器未最小化并且页面加载后恰好 3 分钟(如果我调用该函数),也会发生这种情况
  4. Cookie 并未被删除,但 Cookie 的内容是: enter image description here
  5. 这是一个 ASP.NET Web 应用程序
  6. 控制台没有给出任何错误
  7. 查询的版本是2.1.3
  8. 遵循jquery调用代码:

    makeAjaxCall(ajaxData) {
    var localData = ajaxData.data ? ajaxData.data : {},
    urlVariables = {};

    localData.cmd = ajaxData.cmd;

    var controlerURL = ajaxData.uploadUrl ? HelperJSViewBag.getValue("ajaxCAllUploadURL") : ajaxData.controller;

    if (typeof ajaxData.data.urlVariables == "undefined")
    ajaxData.data.urlVariables = [];

    let editorVersion = "";
    let forceEditorVersion = "";

    if (typeof UrlParameters != "undefined") {
    editorVersion = UrlParameters.getInstance().editorVersion;
    forceEditorVersion = UrlParameters.getInstance().forceEditorVersion;
    }
    else if (typeof HLinks != "undefined") {
    editorVersion = HLinks.getUrlVariable("editorVersion");
    forceEditorVersion = HLinks.getUrlVariable("forceEditorVersion");
    }

    if (editorVersion.length > 0)
    ajaxData.data.urlVariables.push({
    name: "editorVersion",
    value: editorVersion,
    });

    if (forceEditorVersion.length > 0)
    ajaxData.data.urlVariables.push({
    name: "forceEditorVersion",
    value: forceEditorVersion,
    });

    if (typeof ajaxData.data.urlVariables != "undefined" && ajaxData.data.urlVariables.length > 0)
    for (var i = 0; i < ajaxData.data.urlVariables.length; i++)
    urlVariables[ajaxData.data.urlVariables[i].name] = ajaxData.data.urlVariables[i].value;

    localData = this.fillLocalData(localData);

    return $.ajax({
    type: 'POST',
    data: localData,
    url: controlerURL + "?" + $.param(urlVariables),
    success: function (data) {
    try {
    var result = JSON.parse(data),
    status = result.status;

    delete result.status
    switch (status) {
    case 1: ajaxData.sucess && ajaxData.sucess(result.data); break;
    case 2: ajaxData.insucess && ajaxData.insucess(ajaxData.errorHandler && ajaxData.errorHandler.handle && ajaxData.errorHandler.handle(result)); break;
    }
    }
    catch (ex) {
    ajaxData.insucess && ajaxData.insucess(ajaxData.errorHandler && ajaxData.errorHandler.handle && ajaxData.errorHandler.handle(ex));
    }
    },
    error: function (data) {
    ajaxData.insucess && ajaxData.insucess(ajaxData.errorHandler && ajaxData.errorHandler.handle && ajaxData.errorHandler.handle(data));
    }
    });
    }

最佳答案

我想在 ASP.NET 端看到你的代码,但如果没有这个,我只能猜测:也许检查一下你是否设置了 cookie 过期日期?以下是创建的 cookie 有效期为 1 天的示例:

Dim myCookie As HttpCookie = New HttpCookie("Customer")
myCookie.Expires = Now.AddDays(1)
Response.Cookies.Add(myCookie)

如果省略 myCookie.Expires 属性,则 cookie“将在用户 session 过期时过期”,引用。 https://msdn.microsoft.com/en-us/library/78c837bd.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1

关于jquery - 正在删除 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47678040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com