我通过$ .ajax多次获取数据。但是,每次调用都不会刷新数据。而是在每次调用$ .ajax时获得相同的数据。代码在我家正常工作。
但是在下面的代码中,如果我替换console.log(“success”);使用console.log(“成功”+数据);并在chrome控制台中观察,然后代码工作正常。我怀疑它是一个缓存问题,但可以解决它。
function getDataJSON()
{
originalData="";
new Date().toString();
$.ajax({
url: 'data.php', //the script to call to get data
data: "", //you can insert url argumnets here to pass to api.php
success: function(data)
{
console.log("success ");
...
...
由于
答案 0 :(得分:2)
您可以设置缓存Cache。默认情况下,它将设置为cache = true。 来自DOCS
如果设置为false,则会强制请求的页面不被缓存 浏览器。注意:将缓存设置为false只能正常使用 HEAD和GET请求。它的工作原理是将“_ = {timestamp}”附加到 GET参数。其他类型的参数不需要 请求,但在IE8中,对已经存在的URL进行POST时除外 GET请求。
$.ajax({
url:'url',
cache:false,
.....
})
答案 1 :(得分:0)
就像@Ravi所说的那样,缓存原则是你受到了侮辱。
你应该花更多的时间研究你的首选武器! Link =>如果你搜索 jquery ajax
,首先点击谷歌还有另一种防止缓存的方法。只需将一些随机数附加到您正在访问的网址即可。
例如:
"www.url.com?" + new Date().getTime()
or
"www.url.com?" + Math.random()