使用在React Insidefect中使用提取的问题
2020-05-24
948
我是Note Node和React的新手,我正在尝试获取一些数据并在我的React页面上显示。 这很简单。 我有一台在Localhost上运行的Express Server:3001,我的React应用程序在Localhost:3000上。 我正在尝试获取数据,然后通过钩子将数据设置为状态。 我似乎无法在React页面或Web开发人员控制台上获取数据。 有什么方法可以看到在控制台中获取的数据?
这是我的React组件:
571159960
这是我的节点服务器:
025362949
我得到的结果是没有数据,而Chrome Dev Tools Console中的这两个错误。 /p>
index.js:1 unuffult syntaxerror:意外的令牌'<'
app.jsx:19未被师(在承诺)语法:意外的标记<在位置0
中
非常感谢任何帮助!
3个回答
您需要指定服务器返回数据的
Content-Type
。
您可以在发送响应之前使用
res.setHeader
,也可以使用
res.json()
发送 json 响应
https.get(url, (response) => {
console.log("statusCode", res.statusCode);
response.on("data", (d) => {
const weatherData = JSON.parse(d);
console.log(weatherData);
res.json(weatherData); // use json response
});
}).on("error", (e) => {
console.error(e);
})
Shubham Khatri
2020-05-24
看起来result.json()可能有错误。
可能是请求返回的是html而不是json。
您可以使用postman或其他工具通过'localhost:3001'获取真正的响应以清除哪里出了问题。
lastnigtic
2020-05-24
const data = await result.json();
如果结果没有有效的 json,此行将出现问题。 这就是您遇到错误的原因。 捕获该错误并查看响应
Himanshu
2020-05-24