使用$ .getScript回调的JQuery Ajax加载文件传递unkown参数

时间:2016-03-04 19:15:53

标签: jquery ajax

以下函数需要加载外部文件,并区分简单的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

参数在每次加载时都会更改,因此无法缓存文件。

我该如何解决这个问题?为什么会这样?

1 个答案:

答案 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