浏览器不会通过 onclick 事件设置 cookie

2024-04-03

尽管我确信这是显而易见的事情,但我还是对这个错误感到恼火。如果是的话,抱歉。

以下 JavaScript 成功设置了我的 cookie:

<script type="text/javascript">
$(document).ready(function(){
    $.post('../setCookie.php',{'region':'test'});
});
</script>

但是一旦我将相同的代码绑定到onclick事件,就像这样...

<script type="text/javascript">
$(document).ready(function(){
    $("#us a").click(function(){
        $.post('../setCookie.php',{'region':'en-us'});
    });
    $("#uk a").click(function(){
        $.post('../setCookie.php',{'region':'en-gb'});
    });
});
</script>

<ul>
    <li id="uk"><a href="http://www.example.com/uk">
        <span>Enter UK site</span></a></li>
    <li id="us"><a href="http://www.example.com/us">
        <span>Enter US site</span></a></li>
</ul>

..它不再设置cookie!即使相同的代码被称为执行在完全相同的方式(我顺利地完成了它,并且看到了一切应该是的样子)。

重复:JavaScript 运行良好。我正在单步执行 setCookie.php,一切都是一样的......除了最后没有 cookie。

这是怎么回事?我猜这是浏览器安全性之类的?


对于任何感兴趣的人,我是这样解决的:

<script type="text/javascript">
$(document).ready(function(){
$("#us a").click(function(e){
    e.preventDefault();
    $.post('../setCookie.php',{'region':'en-us'},
        function() {
            window.location = "http://www.example.com/us";
        }
    );
});

$("#uk a").click(function(e){
    e.preventDefault();
    $.post('../setCookie.php',{'region':'en-gb'},
        function() {
            window.location = "http://www.example.com/uk";
        }
    );
});
});
</script>

我没有看到任何东西阻止正常的链接点击通过?如果没有什么妨碍正常的a href去经历,不会有任何时间去做$.post在页面更改之前请求。

请尝试以下操作:

$(document).ready(function(){
    $('a').click(function(e){
        e.preventDefault();
        $.post('../setCookie.php',{'region':'test'});
    });
});

它将停止链接的页面更改,但至少应该传递 cookie。现在,如果您还希望加载页面,请在请求中添加 onComplete 方法,以便在成功发送 cookie 数据后,您可以继续页面更改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

浏览器不会通过 onclick 事件设置 cookie 的相关文章

随机推荐

  • 如何将 @JsonSnakeCase 设置为 Dropwizard 中的默认配置

    我将如何配置 Jackson 在 dropwizard 中使用蛇形案例 而不是将 JsonSnakeCase 放在每个类中 最后我能够找到答案 只需添加以下配置 environment getObjectMapperFactory setP
  • 如何使用 Swift 刷新我的应用程序中的 Google 地图?

    我制作了一个选项卡栏应用程序 其中一个选项卡 MapTab 由 GoogleMap 组成 而另一个选项卡 ImageTab 则保存所有图像 现在 当图像保存在 ImageTab 中时 它会以标记的形式显示在 MapTab 上 现在我的问题是
  • NumPy 中的 ndarray 和 array 有什么区别?

    有什么区别ndarray https numpy org doc stable reference generated numpy ndarray html and array https numpy org doc stable refe
  • Xamarin 方向传感器矢量角

    我在用着Xamarin Essentials OrientationSensor在我的项目中 我无法解释QuaternionAPI 为我提供了新的读物 问题描述 Here s a figure describing my problem 我
  • 在 Ubuntu 11.04 中禁用堆栈崩溃保护

    我在 2007 年 MacBook 上运行 32 位 Ubuntu 11 04 并且刚刚开始了解缓冲区溢出漏洞 我正在尝试运行书中的示例程序 但 Ubuntu 的安全措施使我无法成功执行缓冲区溢出 这是我尝试运行的代码 include
  • Flutter - 删除滑块中的默认填充

    我想知道如何删除默认填充Flutter Slider 电流输出是这样的 默认填充滑块的形状清晰可见 这是我的代码 Positioned child Align alignment Alignment bottomLeft child Sli
  • PyCharm 5 找不到 Django 1.9 模板

    当我使用 PyCharm 5 0 3 调试我的应用程序时 我想在模板文件 Django 1 9 中插入一些断点 但是 当我在 PyCharm 调试模式下运行应用程序时 它会在处理第一个请求后立即打印以下警告 警告 模板路径不可用 请在 se
  • Linq:存储为文本时按日期排序

    我需要按日期排序 但日期以文本形式存储在数据库中 我正在使用 Linq to 实体来执行查询 根据数据库的设计方式 将该列更改为日期列是不可行的 因为该列中有许多不同的数据类型 有一个名为的鉴别器列type所以我会知道特定行是什么类型 您可
  • 使用WebSocket上传大文件

    我正在尝试使用 WebSocket API 上传大文件 至少 500MB 最好达到几 GB 问题是我不知道如何编写 发送文件的这一部分 释放所使用的资源 然后重复 我希望我可以避免使用 Flash Silverlight 之类的东西 目前
  • 在新列中获取具有相似地址的 id

    我有一个数据帧 我从中处理一些列 以获取每个客户 ID 的地址与每个其他客户 ID 的地址的匹配百分比 如果某些地址与其他地址的匹配百分比高于 80 那么我想在新列中收集其相应的客户 ID 我编写了代码 在其中获取元组列表 其中每个元组中都
  • $root 和 $parent 有什么区别?

    我正在学习 KnockoutJS 但我不明白两者之间的区别 root and parent用法 请参见这个jsfiddle http jsfiddle net supercool 2gt4K 27 或下面的代码 div data Value
  • 在家学习共享点[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有没有可以安装并用于家庭学习目的的 sharepoint 家庭 版本 Thanks Microsoft 预配置的 Sharepoint 2007 安装
  • 模拟实体框架核心上下文

    我尝试测试我的应用程序 因此我需要模拟我的 EF 上下文 我的代码似乎没问题 但有以下异常 System ArgumentNullException 值不能为空 参数名称 来源 这是我的测试方法 var options new DbCont
  • python re.sub,仅替换部分匹配[重复]

    这个问题在这里已经有答案了 我对 python 很陌生 我需要通过一个正则表达式匹配所有情况并进行替换 这是一个示例子字符串 gt 期望的结果
  • 如何将内存中的multer文件缓冲区上传到google云存储桶?

    我使用 multer 和 nodejs 来处理多部分表单数据 我不想保存从客户端获得的 req file 我想直接将内存中的文件缓冲区上传到谷歌云存储 但是存储桶 firebase storage 的上传方法只需要一个文件路径作为参数 有什
  • SQL 查询至少其中一项

    我有一群用户 每个用户都有很多帖子 架构 Users id Posts user id rating 如何找到至少有一篇帖子评级高于 例如 10 的所有用户 我不确定是否应该为此使用子查询 或者是否有更简单的方法 Thanks 要查找至少有
  • 我可以让 SQLAlchemy 根据当前外键值填充关系吗?

    这是一些代码 latest version at https gist github com nickretallack 11059102 from sqlalchemy ext declarative import declarative
  • “jQuery 方式”仅用 HTML 和文本的混合替换文本节点?

    在我的 Web 浏览器用户脚本项目中 我只需要替换一个文本节点 而不影响与文本位于同一父节点下的其他 HTML 元素 我需要用多个节点替换它 div foo bar baz img src image png div 需要成为 div a
  • Github Mac 权限问题

    作为新的 Git 用户 我正在使用最新的 Mac 版 Github 当我尝试同步存储库 我首先克隆 然后创建一个新分支 提交更改 然后与 master 合并 时 我收到错误 Authentication Failed You may not
  • 浏览器不会通过 onclick 事件设置 cookie

    尽管我确信这是显而易见的事情 但我还是对这个错误感到恼火 如果是的话 抱歉 以下 JavaScript 成功设置了我的 cookie 但是一旦我将相同的代码绑定到onclick事件 就像这样