微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 为什么在_jax请求中将“_ = 1389258551926”作为查询字符串参数发送?

参见英文答案 > Who Add “_” Single Underscore Query Parameter?                                    4个
>            Preventing jQuery from cache busting resources loaded during AJAX callbacks that use the `html(…)` function                                    1个
我正在使用JQuery Ajax向我的动作类发送请求,其中包含数据:{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

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

解决方法:

此参数是时间戳.你可以看到它与控制台中的内容完全相同

Date.Now()

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

它在the documentation中描述:

cache (default: true, false for dataType ‘script’ and ‘jsonp’)

Type: Boolean If set to false, it will force requested pages not to be
cached by the browser. Note: Setting cache to false will only work
correctly with HEAD and GET requests. It works by appending
“_={timestamp}” to the GET parameters. The parameter is not needed for
other types of requests, except in IE8 when a POST is made to a URL
that has already been requested by a GET.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐