javascript - JQuery中ajax如何缓存引入的js文件
迷茫
迷茫 2017-04-10 14:33:00
[JavaScript讨论组]

有如下代码

$.ajax({
    type: "GET",
    cache: true,
    url: 'aa.php',
    dataType: "html",
    success: function (res) {
    $('.page-loading').remove();
    $('.page-content .page-content-body').html(res);
});

发现 请求为
aa.com/aa.php
aa.com/aa.css
aa.com/aa.js?_=1373600904652

这样好像 js 文件不被缓存
请问有没有方法去掉 _=1373600904652 ???

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(4)
高洛峰

昨晚研究了下这个问题,知道怎么回事了,在你的 ajax 请求前加一段代码:

$.ajaxSetup({
  cache: true
});

同时你的那句 cache: true 可以省略,因为默认就是 cache: true,只有 dataType"script""jsonp"cache 默认为 false。你在此处加的 cache: true 其实只影响了 aa.php 的缓存与否。

天蓬老师

cache不要true啊

伊谢尔伦

cache:true改成cache:false,再看看请求的链接。

迷茫

我认为CSS和JS不是AJAX时候加载的,是在CALLBACK里填充到现有页面时加载的,你可以在CALLBACK第一行打个断点验证一下,断住时应该只有aa.php的请求。
如果猜测正确,你可以在$('.page-content .page-content-body').html(res);之前,把res里的js地址替换了再插进去。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号