ReactJs 和 D3.js :未捕获(承诺中) SyntaxError: Unexpected token < in JSON at position 0 at responseJson
Posted
技术标签:
【中文标题】ReactJs 和 D3.js :未捕获(承诺中) SyntaxError: Unexpected token < in JSON at position 0 at responseJson【英文标题】:ReactJs and D3.js : Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0 at responseJson 【发布时间】:2018-09-27 13:52:20 【问题描述】:在我的 App.js 中,
import React, Component from 'react';
import * as d3 from "d3";
import * as d3queue from 'd3-queue';
import * as topojson from 'topojson';
var usState = require("./us-states.json");
var usCounty = require("./us-counties.json");
var imageModule=new ImageModule(imageOpts);
var queue = d3queue.queue();
var path = d3.geoPath().projection(projection);
class App extends Component
constructor()
super();
this.drawDoc = this.drawDoc.bind(this);
drawState()
queue.defer(d3.csv, './data.csv', function (d)
return
id: +(d.state + d.county),
state: d.state,
county: d.county,
unemployment: +d.unemployment
)
.defer(d3.json, usState)
.defer(d3.json, usCounty)
.awaitAll(this.initializeIt)
initializeIt(error, results)
if (error) throw error
var data = results[0]
单击按钮时,我正在调用 drawState 方法。但我收到此错误“未捕获(承诺)SyntaxError:意外的令牌
【问题讨论】:
该错误表示文件未正确加载。您的文件之一的路径无效。我的猜测是 ./data.csv。如果您打开开发人员工具并转到源选项卡,找到 data.csv 并选择它,我敢打赌它是空的,因为它实际上并没有加载。 @KyleRichardson ,是的,它没有加载。我不知道为什么它没有被加载,它在同一个目录中。 你在使用 react-router 吗?如果是这样,请确保您的文档头中有一个base
标记......那个我以前得到过。
您有任何解决方案吗?因为我现在面临同样的问题。
【参考方案1】:
好的,我遇到了同样的问题,现在我解决了。
你应该把你的 json 文件放在公共目录中:
【讨论】:
以上是关于ReactJs 和 D3.js :未捕获(承诺中) SyntaxError: Unexpected token < in JSON at position 0 at responseJson的主要内容,如果未能解决你的问题,请参考以下文章
Youtube API未捕获(在承诺中)错误:请求失败,状态码为403
ReactJS + Redux + Reduc-thunk 无法调度承诺
未捕获错误:未知类型:d3.js v5.4.0中的dragend