以下函数需要加载外部文件,并区分简单的GET和需要使用脚本dataType方法的文件。
function navegacion(dashboard, history, rtype)
{
var urlPath = dashboard;
if(rtype !== 'script') {rtype = 'GET';} else {rtype = 'script';}
$.ajax({
type: rtype,
async:true,
url: "ajaxapi.php?dashboard="+ dashboard,
success: function(msg) {
$("#main-div").html(msg);
}
});
}
使用上一个函数调用的第二个文件也使用以下函数加载外部文件:
$.holdReady(true);
//set hold
function releaseHold() {
$.holdReady(false);
$('#table').DataTable();
}
//callback to release hold
$.getScript('./javascript/jquery.dataTables.min.js', releaseHold);
//load script then release hold
问题是参数正在传递给url,如下所示: 的 /javascript/jquery.dataTables.min.js?_ = 1457117615305
参数在每次加载时都会更改,因此无法缓存文件。
我该如何解决这个问题?为什么会这样?
答案 0 :(得分:1)
$.getScript
方法是调用$.ajax
并传入一些默认选项的快捷方式。其中一个选项是设置cache: false
,它会附加您在此处看到的缓存清除参数
要删除缓存破解程序,您需要直接致电$.ajax
。
$.ajax({url: '/url/to/script.js', dataType: 'script', cache: true})
请参阅此处的文档:http://api.jquery.com/jQuery.ajax/#jQuery-ajax-settings