无法从index.html调用javascript函数

时间:2016-04-19 14:14:05

标签: javascript html function file load

我在加载事件时从index.html调用函数时遇到了一些问题 它返回错误readjson未在控制台中定义。

的index.html

<script type="text/javascript"> 
 $(window).load(function () {   
readjson('a','s');
});
</script>

main.js文件

<script type="text/javascript"> 

function readjson(val1,val2){
//some code
}

</script>

任何人都可以告诉我为什么它无法调用,我将链接main.js文件链接到index.html

5 个答案:

答案 0 :(得分:2)

JavaScript文件不应包含任何HTML。

<script type="text/javascript">移除</script>main.js

加载该文件时应该看到错误(沿着意外标记<)。

答案 1 :(得分:0)

在没有“script”标签的js文件中调用它:

function readjson(val1,val2){
//some code
}

在index.html中,您需要“脚本”

按照评论中给出的建议,首先包括.js文件,然后是index.html中的函数

答案 2 :(得分:0)

您是否正确添加了jquery链接? 如果没有,您应该为$(window)添加要调用的jquery链接。比如..

<script src="http://code.jquery.com/jquery-latest.js"></script>

答案 3 :(得分:0)

如果您在此处显示实际上有两个脚本声明,则窗口加载将首先触发。然后它会查找尚未创建的函数。这就是你未定义的原因。

您可以在页面上有一个脚本声明,并将您的函数放在加载函数中。

<script>

$(window).load(function () {   

readjson('a','s');

function readjson(val1,val2){
//some code
}

});
</script>

答案 4 :(得分:0)

从main.js中删除标签:

<script type="text/javascript"> and </script>

并记得将jquery和main.js包含在:

<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js"></script>
<script src="test.js"></script>