我正在开发一个项目,我需要在需要时动态加载JS,并且我遇到了麻烦。 为了简单起见,这是一个例子
<script type="text/javascript">
function DemoSelect2() {
$('#s2_with_tag').select2({ placeholder: "Select OS" });
$('#s2_country').select2();
}
// Run Select2 plugin on elements
$(document).ready(function () {
LoadSelect2Script(DemoSelect2);
WinMove();
});
</script>
<div class="form-group">
<label class="col-sm-3 control-label">Country</label>
<div class="col-sm-5">
<select class="populate placeholder" name="country" id="s2_country">
<option value="">-- Select a country --</option>
<option value="fr">France</option>
<option value="de">Germany</option>
<option value="it">Italy</option>
<option value="jp">Japan</option>
<option value="ru">Russia</option>
<option value="gb">United Kingdom</option>
<option value="us">United State</option>
</select>
</div>
</div>
我在我的JS.js脚本文件中有这个函数来加载名为select2.min.js的JS,该文件位于我名为plugins的文件夹和名为select2的su文件夹中。
function LoadSelect2Script(callback){
if (!$.fn.select2){
$.getScript('/plugins/select2/select2.min.js', callback);
}
else {
if (callback && typeof(callback) === "function") {
callback();
}
}
}
注意:我已经有了捆绑来渲染Jquery UI和所有东西。 问题是没有加载脚本 更新: 问题是Getscript试图从以下文件加载文件:Controlername / plugins / select2 / select2.min.js而不是:Root / plugins / select2 / select2.min.js我该如何解决?
答案 0 :(得分:0)
您可能想尝试.done和.fail方法来查看发生了什么错误。也许路径中的“〜”导致问题。你可以打印出“例外”。
$.getScript( "ajax/test.js" )
.done(function( script, textStatus ) {
console.log( textStatus );
})
.fail(function( jqxhr, settings, exception ) {
$( "div.log" ).text( "Triggered ajaxError handler." );
});