$.getScript("somescript.js", function() {
alert('Load Complete');
});
提前感谢您的帮助。
答案 0 :(得分:6)
1)除非您在$ .ajax()函数中将其指定为选项,否则永远不会缓存通过AJAX对jQuery的脚本请求。来自documentation:
“cache,Boolean
默认值:true,false,对于dataType'script'和'jsonp'
如果设置为false,它将强制您请求的页面不被浏览器缓存。“
2)我想我需要看一些示例代码来掌握这部分问题。
3)如果$ .getScript()失败,则无法执行任何操作。但是,您应该知道$ .getScript()只是$ .ajax()的简写版本,等同于:
$.ajax({
url: url,
dataType: 'script',
success: function(data) {
//
}
});
这意味着您可以实现error
回调,以便在文件加载失败时做一些聪明的事情,即:
$.ajax({
url: url,
dataType: 'script',
success: function(data) {
//
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("panic");
}
});
答案 1 :(得分:2)
除了Glen的回答,我还想提供另一个选择:
$.getScript({
url: "foo.js",
cache: true // or false, depending on your preference. in most cases you would want it true.
}).done(function(){
// do something when script was loaded and run
}).fail(function(){
// do something when script failed to load
});
在jQuery 1.12.0 +上支持