[英]d3.json console.log returns undefined or JSON.parse returns unexpected character at line 1
我花了很多时间试图解决此语句中的错误,以便在console.log中显示json url的内容:
d3.json( urlpathtojson, function(error, jsondata ) {
var jsonfile = JSON.parse(jsondata);
console.log(jsonfile);
}):
我可以看到GET语句和JSON请求的内容,但是控制台给出了以下错误:
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
或在其他情况下不解析:
ReferenceError: jsondata is not defined
要么
jsondata is undefined
以下是我在Stackoverflow上找到的答案。 希望它也会对其他人有所帮助。
问题是控制台日志语句运行时没有等待json文件的返回,这导致了上述错误。
通过Stackoverflow,我从以下问题中找到了此解决方案: 从d3.json()返回数组
function doSomethingWithData(jsondata) {
console.log(jsondata);
}
d3.json(dataPath, doSomethingWithData);
请注意,如何将doSomethingWithData直接传递到d3.json,而不是在匿名内部函数中单独调用它。
注意:这不是d3.js的特殊问题。 基本上,所有异步的javascript函数都可能以相似的方式运行。 如果它们返回某些内容,则不会是传递的回调的返回值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.