Javascript 未捕获引用错误函数未定义
我有一个外部js文件,其中有一个函数我正在尝试测试。我无法从onclick获取要调用的函数 我有一个init函数,我删除了对它的调用,只是直接调用了loadJSON函数,但无论我做什么,我都会得到一个引用错误 我调查了这些问题。 两人似乎都没有帮助Javascript 未捕获引用错误函数未定义,javascript,node.js,referenceerror,npm-live-server,Javascript,Node.js,Referenceerror,Npm Live Server,我有一个外部js文件,其中有一个函数我正在尝试测试。我无法从onclick获取要调用的函数 我有一个init函数,我删除了对它的调用,只是直接调用了loadJSON函数,但无论我做什么,我都会得到一个引用错误 我调查了这些问题。 两人似乎都没有帮助 function loadJSON(){ var xobj = new XMLHttpRequest(); // must set the mime type xobj.overrideMimeType("application/json")
function loadJSON(){
var xobj = new XMLHttpRequest();
// must set the mime type
xobj.overrideMimeType("application/json");
// Open the JSON file
xobj.open('GET', 'json/data.json', true);
xobj.onreadystatechange=function(){
if(xobj.readyState == 4 && xobj.status == "200"){
// Required use of an anonymous callback as
// .open will NOT return a value but simply
// returns undefined in asynchronous mode
console.log(xobj.responseText);
}
};
xobj.send(null);
}
例如,参见代码笔
我只想让JavaScript提取Json,然后我就可以开始将它保存在JavaScript对象中,这样我就可以动态地开始用数据构建d3图表。我确实将live server与Node.JS一起使用,因此我可以对JSON文件执行xml请求,因此我知道这不是问题所在
非常感谢您的帮助
谢谢大家!
****EDIT-My bad,我最初在loadJSON之后使用了()命令,但为了看看它是否有效,我最后还是把它删除了。我来修这支笔。“我的道歉”****
****编辑2-我将脚本移动到内联,当我在NodeJS Live Server中执行时,console.log(xobj.responseText);
将返回html页面的全部源代码。这很有趣!到底是怎么回事****
****编辑3-添加了Techie_28的屏幕截图。当我单击“意外标记”时,函数调用应该是
onclick=“loadJSON”
。阅读我的编辑。我删除它只是作为一个测试的东西,我忘了在我发布我的问题之前把它加回去。很抱歉给你带来了困惑。将修复我的画笔以反映这一点。这可能与您定义函数的位置有关,或者名称loadJSON
在某处被覆盖。因为这只是我纯粹的测试,所以您在我的代码笔中看到的实际上是我所有的。我在一个更大的项目中使用了它,但我把这部分拿出来只是为了测试,看看问题是什么,它对我来说毫无意义。我不明白Node.JS live server有什么问题吗?请在点击按钮时,在浏览器控制台的屏幕截图中发布。按钮&loadJSON
可能不在同一范围内。当页面加载时,还要检查解析错误或其他错误,这些错误也会在控制台中看到。使用F12
调用并刷新页面控制台
必须记录一些JS错误。