jquery getscript忽略了我的路径

时间:2014-09-25 22:26:29

标签: javascript jquery

我遇到了jquery.getScript

的问题

我用

加载我的代码
$.getScript("assets/global/plugins/datatables/media/js/jquery.dataTables.min.js?" + Math.random())

但是在浏览器的控制台中我有这个错误

http://localhost:53968/UI/WebPages/jquery.dataTables.min.js.map 404 (Not Found) 

这是页面和脚本的结构

/UI/WebPages/calling_pages.aspx /UI/WebPages/assets/global/plugins/datatables/media/js/jquery.dataTables.min.js

所以,如果我直接放置

<script type='text/javascript' src='assets/global/plugins/datatables/media/js/jquery.dataTables.min.js'></script>

一切正常,但我需要测试是否加载了js以防止多次加载

1 个答案:

答案 0 :(得分:0)

来自docs

$.getScript( "ajax/test.js" )
.done(function( script, textStatus ) {
    console.log( textStatus );
})
.fail(function( jqxhr, settings, exception ) {
    $( "div.log" ).text( "Triggered ajaxError handler." );
});

我会从

更改查询参数
"...jquery.dataTables.min.js?" + Math.random()

"...jquery.dataTables.min.js?ver=1.10.2"

因为您没有更改文件,所以有更新,不是吗。我认为这是更新浏览器缓存的最佳价值。但要注意,在文档中提示启用缓存:

// By default, $.getScript() sets the cache setting to false.
// This appends a timestamped query parameter to the request URL
// to ensure that the browser downloads the script each time it
// is requested. You can override this feature by setting the cache
// property globally using $.ajaxSetup():

$.ajaxSetup({
    cache: true
});