2017-04-14 48 views
0

所以我正在一个项目,我已经能够从数据库中提取数据到我的服务器上的JSON端点,看起来类似于:http://some.com/api/herearejson 。然后,我想将数据加载到表中并每隔一段时间不断刷新此表。使用Datatables与jQuery和Ajax收集数据给出了一个奇怪的URL

我通过后端使用Django,并且遇到了一个名为Datatables(https://datatables.net)的JavaScript库,并且已经正确设置它。总结一下我所做的是在表格的顶行命名中在HTML中创建一个表格。然后,我在javascript中使用Datatables-framework从使用框架提供的ajax-call的JSON文件获取数据到我的应用程序的端点。

这是基于所示的例子中的文档(https://datatables.net/examples/ajax/simple.html)中:

$(document).ready(function() { 
    $('#example').DataTable({ 
     "ajax": "data/arrays.txt" 
    }); 
}); 

这部分的工作原理就像一个魅力,但挖成什么真正发生了我之后发现,每当我做一个Ajax -call以下GET命令被发送

XHR finished loading: GET "https://some.com/api/herearejson?_=1492196827012".  jquery-1.12.4.js:10254 

同样的消息可以在控制台加载上面的例子,当显示。

我想知道是否有人能告诉我URL最后的最后一个查询语句是什么?

?_=1492196827012

对我来说,它看起来像某种计数器,只有增加,但我不知道这个来自为什么它的存在?

它困扰着我不能发现它是什么,我对使用它感到怀疑,因为我没有真正了解它的来源。从长远来看,这可能会对我的应用程序产生任何影响吗?

我希望有人能帮我弄清楚这一点。

回答

1

这是反高速缓存参数,因此浏览器将始终从服务器加载数据,而不是缓存。

+0

啊哈!我不知道,所以我猜Datatables有这个选项作为默认,当使用类似'function something(){$。ajax({url:url)});'这个选项被关闭?谢谢你们的快速响应! – magnusnn

+0

是的,这是DataTables使用的附加参数。许多js框架都是这样做的。但$ .ajax只发送你传递的参数,所以没有内置的反高速缓存生成。 –

+0

完美的,谢谢你的清理! – magnusnn

相关问题