jQuery html() 使用 ?_=1365695139815 获取 Javascript (.js)

Posted

技术标签:

【中文标题】jQuery html() 使用 ?_=1365695139815 获取 Javascript (.js)【英文标题】:jQuery html() getting Javascript (.js) with ?_=1365695139815 【发布时间】:2013-04-03 23:14:49 【问题描述】:

当我得到一个包含<script src="some-file.js"></script> 的网址时,如下例所示:

<html>
<script>
$(document).ready(function()
    $.get('/some-url', function(r) 
        $('#html-container').html(r); // Contains: <script src="some-file.js"></script>
    );
);
</script>

<body>
<div id="html-container"></div>
</body>

这是之前在 some-file.js 自动加载中所说的结果,因为 /some-url 的结果比 jQuery 会将 ?_=random number 添加到查询字符串中。

导致请求:GET some-file.js?_=1365695139815

如何从 html() 解析自动加载中禁用此随机请求附加?

@edit

由于我无法发出请求,那是因为它们是通过 html 解析执行的,在 Brian 的回答下,我找到了这个简单的解决方案:

$.ajaxSetup(
    // Enable caching of AJAX responses
    cache: true
);

发现于How to set cache: false in jQuery.get call

【问题讨论】:

【参考方案1】:

jQuery 附加的查询字符串是 jQuery 缓存 ajax 调用的结果。要禁用此功能,请使用以下命令:

$.ajax(
    url: '/some-url',
    cache: true,
    success: function(r) 
        $('#html-container').html(r); // Contains: <script src="some-file.js"></script>
    
);

cache: true 是重要的部分。

【讨论】:

这个选项cache可以被$.getfn传递吗?

以上是关于jQuery html() 使用 ?_=1365695139815 获取 Javascript (.js)的主要内容,如果未能解决你的问题,请参考以下文章

jQuery html() 使用 ?_=1365695139815 获取 Javascript (.js)

无法使用 HTML 设置未定义的 jQuery UI 自动完成的属性“_renderItem”

05_jQuery

JQuery_事件基础

从零开始学_JavaScript_系列——jquery(基础,选择器,触发条件,动画,回调函数)

Ajax_使用 jQuery 实现Ajax