小编典典

为什么“ _ = 1389258551926”作为ajax请求上的查询字符串参数发送?[重复]

ajax

我正在使用JQuery Ajax将请求发送到动作类,data: {campaignId:campaignId}_=1389258551926也将其作为数据发送。

我的ajax请求函数是:

$('#submit').click(function() {
    var campaignId = $('#campaign').val();
    alert("Ajax request ; Camp : " + campaignId);
    $.ajax({
        type: "get",
        url: "getCampData",
        data: {campaignId: campaignId},
        dataType: "json"
    }).done(function(data) {
        alert("Camp List : " + data.campList);
});

查询字符串参数:

campaignId=Test&_=1389258551927

为什么这个额外的参数作为数据发送?


阅读 168

收藏
2020-07-26

共1个答案

小编典典

此参数是一个时间戳。您会发现它与您在控制台中得到的东西很奇怪

Date.now()

这样做是为了确保URL更改并避免接收页面的缓存版本。

文档中对其进行了描述

缓存(默认:true,对于dataType’script’和’jsonp’为false)

类型:布尔值如果设置为false,它将强制浏览器不缓存请求的页面。注意:将缓存设置为false只能与HEAD和GET请求一起正常使用。它通过在GET参数后面附加“ _ = {timestamp}”来工作。对于其他类型的请求,不需要此参数,但在IE8中,当对GET已经请求的URL进行POST时,则不需要该参数。

2020-07-26