Javascript 为什么缓存:false在jqueryajax中不起作用

Javascript 为什么缓存:false在jqueryajax中不起作用,javascript,jquery,caching,Javascript,Jquery,Caching,在我的示例中,我正在使用AJAX。在本文中,我使用了cache:false属性。 它总是触发请求(我签入了网络选项卡)。为什么请求没有被缓存?这是我的密码 $(函数(){ $('#btn')。单击(函数(){ 警报('---') $.ajax({ url:“https://api.github.com/events", 数据:{ 身份证号码:123 }, cache:false, 键入:“获取”, 数据类型:“json”, }).done(函数(json){ $(“”).text(json.t

在我的示例中,我正在使用AJAX。在本文中,我使用了
cache:false
属性。 它总是触发请求(我签入了网络选项卡)。为什么请求没有被缓存?这是我的密码

$(函数(){
$('#btn')。单击(函数(){
警报('---')
$.ajax({
url:“https://api.github.com/events",
数据:{
身份证号码:123
},
cache:false,
键入:“获取”,
数据类型:“json”,
}).done(函数(json){
$(“”).text(json.title).appendTo(“body”);
$(“”).html(json.html).appendTo(“body”);
}).失败(功能(xhr、状态、错误抛出){
警报(“抱歉,出现问题!”);
log(“错误:+errorshown”);
控制台日志(“状态:+状态”);
console.dir(xhr);
}).始终(功能(xhr、状态){
警报(“请求已完成!”);
});
})
})
根据,如果缓存设置为false,它将强制浏览器不缓存请求的页面


我想您应该将其更改为
true

好吧,
缓存:false
打开缓存,将其设置为
true
将打开它?您关闭了缓存。。。这就是为什么缓存被关闭的原因。你应该关闭它。看起来jQuery只是通过在内部添加一个时间戳来实现这一点。它总是会显示一个请求,但在控制台的网络选项卡中,它应该显示“来自缓存”或类似的内容。sill network showing new request..请单击按钮并检查my Chrome中的网络选项卡,第二个请求显示
状态代码:200 OK(从缓存中)
(Chrome/53)
$(function(){
    $('#btn').click(function(){
        alert('----')

        $.ajax({
            url: "https://api.github.com/events",
            data: {
                id: 123
            },
            cache: false,
            type: "GET",
            dataType : "json",
        }).done(function(json) {
            $("<h1>").text(json.title).appendTo("body");
            $("<div class=\"content\">").html(json.html).appendTo("body");
        }).fail(function(xhr, status, errorThrown) {
            alert("Sorry, there was a problem!");
            console.log("Error: " + errorThrown);
            console.log("Status: " + status);
            console.dir(xhr);
        }).always(function(xhr, status) {
            alert("The request is complete!");
        });
    })
})