首页 > 解决方案 > jQuery AJAX 不更新其响应

问题描述

我遇到了一个非常奇怪的情况。我正在开发一个软件,我想添加一个功能来确认电子邮件,所以基本上,它向我的服务器发送一个 ajax 请求,服务器用一个密钥响应,这个密钥也将在链接中的电子邮件中发送。这个键被保存为一个变量,然后我添加了一个 setInterval,它运行一个链接,如果用户点击了链接,该键会响应。数据存储在mysql中。一个小问题一切都很好。AJAX 响应不会更新,只是保留旧值,尽管当我在浏览器中打开检查链接时,响应确实不同,有没有人有任何想法可能导致这个问题?

        $.ajax({
            url: "http://...&em=" + email,
            type: "GET",
            success: function(rese){
                if(rese === "E1") {
                }else{
                    var checker = setInterval(function(){
                        $.ajax({
                            url: "http://...&key=" + rese,
                            type: "GET",
                            success: function(resee){
                                alert(resee);
                            }
                        });
                    }, 3000);
                }
            }
        });

编辑-服务器响应:因此,数据会立即更新,当用户单击链接时,该值会更改为“是”,而通常它只会以“否”响应,但无论如何,ajax 一直在提醒我不,即使我刚刚更新了数据库中的值

标签: phpjqueryajaxhta

解决方案


尝试添加动态 url 以防止缓存:

              $.ajax({
                url: "http://...&em=" + email,
                type: "GET",
                cache: false,
                success: function (rese) {
                    if (rese === "E1") {
                    } else {
                        var checker = setInterval(function () {
                            $.ajax({
                                url: "http://...&key=" + rese,
                                type: "GET",
                                cache: false,
                                success: function (resee) {
                                    alert(resee);
                                }
                            });
                        }, 3000);
                    }
                }
            });

推荐阅读