我在加载事件时从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
答案 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>