在共享主机上使用jquery重新加载vs刷新页面

时间:2014-11-04 14:35:57

标签: javascript php jquery ajax caching

enter image description here

我正在使用codeigniter和jquery。我正在使用ajax将一些信息发送到codeigniter函数以执行db操作,以便更新页面。

                  $.ajax({
                        type: "POST",
                        url: BASE_URL+"Update/update",
                        data:{ i : searchIDs, m : message },
                        dataType: 'json',
                        success: function(data) {
                            console.log(data);                              

                        },
                        error: function(data) {
                            console.log(data);
                        },
                        complete: function() {
                            alert("REFRESHING..");

                         window.location.href = "pan_controller/reply";
                        }
                });

操作完成后,我想重新加载页面。这通常在我的WAMP本地工作。但是,当我部署到共享主机时,我通常需要手动重新加载页面(使用浏览器中的重新加载按钮 - 上面的屏幕截图)。我看到萤火虫没有错误。我尝试了各种修复,但最近开始怀疑这是否是我的共享托管服务器上的缓存问题。如果是这样有更好的方法来重新加载使用jquery而不仅仅是重定向,以避免共享主机上的缓存?

1 个答案:

答案 0 :(得分:1)

在页面未重新加载时,您是否已确定complete函数正在运行?如果是这样,那么我认为你是对的,这是一个缓存问题。

您可以尝试在window.location.href值的末尾添加timestamp参数,以使其每次都是唯一的,并避免缓存出现任何问题,尽管更好的方法是使用响应发回正确的标头,以便浏览器知道不要缓存该页面。

window.location.href = "pan_controller/reply?t=" + (new Date().getTime());