相关疑难解决方法(0)

浏览器不会从onclick事件中设置cookie

我正在用这个虫子把头发拉出来,虽然我确信这是显而易见的.如果是的话道歉.

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

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

但是,只要我将相同的代码绑定到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>
Run Code Online (Sandbox Code Playgroud)

..不再设置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>
Run Code Online (Sandbox Code Playgroud)

javascript php cookies jquery

4
推荐指数
1
解决办法
2493
查看次数

标签 统计

cookies ×1

javascript ×1

jquery ×1

php ×1