Jquery $.post仅在Chrome(正常)模式下工作一次,但始终处于incognoto模式

Jquery $.post仅在Chrome(正常)模式下工作一次,但始终处于incognoto模式,jquery,ajax,Jquery,Ajax,这是我的ajax_test.php $(document).ready(function(){ $('a#ad_server_ad').click(function() { var name = this.name; $.post("ajax_test.php",{ test:name },function(data){ alert(data); }); });}); 对于第一个ajax调用,代码工作得非常好,但是在那之后,当我再

这是我的ajax_test.php

$(document).ready(function(){

$('a#ad_server_ad').click(function() {
    var name = this.name;

$.post("ajax_test.php",{ test:name },function(data){
                alert(data);
        });


});});
对于第一个ajax调用,代码工作得非常好,但是在那之后,当我再次打开页面并再次单击图像时,ajax调用被取消,如networks/XHR所示。 如果我等几分钟,它会再次工作,但只有一次

现在,如果我在匿名模式下使用相同的代码,它适用于所有连续的点击。
我不熟悉ajax和jquery,所以请帮助我。

据我所知,这可能涉及浏览器缓存。尝试为每个请求添加一个随机数,即ajax_test.php?12345

这会欺骗浏览器不缓存请求。检查此答案:

编辑:听起来不相关的答案,我想不出这与问题中描述的行为有什么关系

您应该防止锚点击的破坏行为:

if(isset($_REQUEST['test']))
{
    echo "Call made successfully" . $_REQUEST['test'];
}

POST请求不会被缓存。我也认为这是缓存的问题,但文档中说用POST获取的页面永远不会被缓存。。所以我不知道该怎么做..你的浏览器上有广告阻止扩展吗?没有..没有这样的扩展.没有..那也没有帮助..但是等等,你没有取消默认的锚点击行为,所以听起来像是预期的结果,不确定它与隐姓埋名模式思维有什么关系……好吧,您的解决方案已经运行,现在正在进行ajax调用。。但我希望默认行为也能起作用,但我还是不明白。。为什么它在隐姓埋名的情况下起作用我知道这会起作用。。问题是,这违背了我的目标,即重定向用户并同时进行ajax调用。。我也可以从php文件重定向用户..您不能同时进行重定向和ajax调用。事实上,您可以,但您没有担保请求将有足够的时间完成,并且通常在重定向过程中浏览器会取消它
if(isset($_REQUEST['test']))
{
    echo "Call made successfully" . $_REQUEST['test'];
}
$(document).ready(function () {
    $('a#ad_server_ad').click(function (e) {
        e.preventDefault(); // prevent click anchor default behaviour
        var name = this.name;
        var self = this;
        $.post("ajax_test.php", {
            test: name
        }, function (data) {
            alert(data);
            // to redirect, you could use:
            window.location = self.href;
        });
    });
});