Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery动态加载JS脚本_Javascript_Jquery_Html_Asp.net Mvc 4 - Fatal编程技术网

Javascript Jquery动态加载JS脚本

Javascript Jquery动态加载JS脚本,javascript,jquery,html,asp.net-mvc-4,Javascript,Jquery,Html,Asp.net Mvc 4,我正在做一个项目,需要时我需要动态加载JS,我遇到了麻烦。 保持简单就是一个例子 <script type="text/javascript"> function DemoSelect2() { $('#s2_with_tag').select2({ placeholder: "Select OS" }); $('#s2_country').select2(); } // Run Select2 plugin on elements $(document).read

我正在做一个项目,需要时我需要动态加载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>
注意:我已经有了呈现jqueryui和所有东西的包。 问题是没有加载脚本 更新:
问题是Getscript试图从:Controlername/plugins/select2/select2.min.js加载文件,而不是从:Root/plugins/select2/select2.min.js加载文件。如何解决这个问题?

您可能想尝试.done和.fail方法来查看发生了什么错误。可能路径中的~引起了问题。您可以打印出异常

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

WinMove是否期望select2?问题是脚本不是loaded@Apocaliptica61在$.getScript中使用相对路径或绝对路径,而不是应用程序路径,或者使用适当的razor帮助程序,您的URL错误。我尝试了/plugins/select2/select2.min.js'但没有成功问题是getScript试图从:/plugins/select2/select2.min.js加载,而不是从:
$.getScript( "ajax/test.js" )
  .done(function( script, textStatus ) {
    console.log( textStatus );
  })
  .fail(function( jqxhr, settings, exception ) {
    $( "div.log" ).text( "Triggered ajaxError handler." );
});