Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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 未捕获引用错误函数未定义_Javascript_Node.js_Referenceerror_Npm Live Server - Fatal编程技术网

Javascript 未捕获引用错误函数未定义

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")

我有一个外部js文件,其中有一个函数我正在尝试测试。我无法从onclick获取要调用的函数

我有一个init函数,我删除了对它的调用,只是直接调用了loadJSON函数,但无论我做什么,我都会得到一个引用错误

我调查了这些问题。

两人似乎都没有帮助

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错误。