jquery的ajax发送请求后前端不能实时更新

Posted 白小白学IT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery的ajax发送请求后前端不能实时更新相关的知识,希望对你有一定的参考价值。

在IE下用Ajax请求某一页面,通常会因为缓存的原因而返回上一次的结果,造成混乱(比如说多次请求却没有响应)。

错误代码如下:

$.get("fetch.php")
                    .done(function(data){
                        html = ‘‘;
                        $.each(JSON.parse(data),function(k,v){
                            html += v+"/";
                        });
                        $("#uprecord").html(html);
                    })

这段代码在第一次执行时会实时刷新,但如果执行多次后,页面显示的还是最初的数据,并不会实时刷新。问题根源在于GET请求的页面不变,没有参数基本就是等于相同,所以在页面不变,参数也不变的情况下,get不会从后台去请求数据,而是从缓存取。为了解决这个问题,可以传入一个时间戳的参数,正确代码如下:

$.get("fetch.php",{ rd:new Date().getTime()})
                    .done(function(data){
                        html = ‘‘;
                        $.each(JSON.parse(data),function(k,v){
                            html += v+"/";
                        });
                        $("#uprecord").html(html);
                    })

以上是关于jquery的ajax发送请求后前端不能实时更新的主要内容,如果未能解决你的问题,请参考以下文章