在Ajax.success上调用另一个脚本的函数

时间:2018-06-19 15:01:38

标签: javascript jquery

我有一个View,其中有一个script标记,我想使用另一个JS文件中提供的功能。如果我在同一脚本文件中添加AddScrollBar(),则可以使用,但是我想在多个地方使用。所以我在site.js中有它。当页面被加载时,我可以看到site.js的脚本标签被加载。

使用脚本查看

<script type="text/javascript"> 
function LoadXyz() {
        $.ajax({
            url: '/ABC/Xyz/' + @Model.Number,
            success: function (data) {
                LoadContainerData(data);
                AddScrollBar();
            }
        });
        $("#navMenu > li").removeClass("active");
        $("#Xyz").addClass("active");
    }

关于如何使用site.js中存在的AddScrollBar()的任何想法

2 个答案:

答案 0 :(得分:1)

如果以这种方式插入文件,则可以调用其他文件(在本例中为site.js)的函数:

    <script src="path/to/site.js"></script>
    <script>
    AddScrollBar();
    </script>

您将能够在site.js中调用函数和var,但是请记住,site.js中的函数未悬挂(如DonCarlos在评论中所述),因此这将无法正常工作

    <script>
    AddScrollBar();//undefined
    </script>
    <script src="path/to/site.js"></script>
  • site.js必须放置在文档根目录中,浏览器可以在其中访问它。因此,如果我们的文件夹结构的文档根目录为 / var / www / ,则浏览器将无法访问 / var 中的文件。
  • 如果文件放置在 /var/www/site.js 中,并且将调用site.js的文件放置在同一文件夹中,我们可以仅用{{1 }}(相对路径)或src="site.js"(绝对路径)
  • 如果文件放置在 /var/www/scripts/site.js 中,而调用site.js的脚本放置在 / var / www / 中我们可以使用src="http://example.com/site.js"(相对路径)或src="/scripts/site.js"(绝对路径)来调用site.js
  • 如果文件放置在 /var/www/site.js 中,而调用site.js的脚本放置在 / var / www / script / 中我们可以使用src="http://example.com/scripts/site.js"(相对路径)或src="../site.js"(绝对路径)来调用site.js

答案 1 :(得分:0)

您可以创建文件script.js,在下面复制代码粘贴,然后运行尝试

//create file script.js

var loadA = function(){
		console.log("loadA");
}

var loadB =  function(){
		console.log("loadB");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="script.js"></script>
	<script>
		$(document).ready(function(){
			loadA();
            loadB();
		});

	</script>