【发布时间】:2021-02-17 06:19:07
【问题描述】:
当我第一次登陆结果页面时,我想查询我的数据库。我想从数据库中获取一些数据,并通过这样的 axios 在前端提供一个 id。
import { useEffect } from "react";
import axios from "axios";
const Results = ({ linkURL, surveyId }) => {
const linkToShare = linkURL;
useEffect(() => {
axios.get(`/get-questions/${surveyId}`);
}, []);
return (
<>
<h1>Results page</h1>
</>
);
};
export default Results;
在后端我没有收到任何请求,并且在页面上刷新时它没有显示任何内容。至少我应该能够看到 req.params。
app.get("/get-questions/:survey", (req, res) => {
console.log("Route working", req.params);
});
我认为这不是参数的问题,而是 useEffect 的问题,因为我无法在这条路线上与服务器建立任何连接。尝试了几条没有参数的路线,什么也没有。看不到控制台上记录的任何内容。 Axios 在其他路线上运行良好。知道这里出了什么问题吗?
编辑
检查我看到的网络工具。上面的行是一个可以正常工作的发布请求。第二个是我到达不工作的服务器。即使我得到 200。
【问题讨论】:
-
IP丢失是因为是私有IP?我没有看到对基本 URL 的任何引用
-
好的,我想你应该给我们更多的调试信息:打开你调用 Axios 的页面并检查它。在可用的工具中 [Elements, Console, etc.] 选择 Console 并查看是否显示任何错误。如果请求已正确发送到服务器,请检查“网络”选项卡。在检查了这两个元素之后,我们可以做进一步的考虑。
-
等一下,如果您收到 200 响应代码,则客户端正在正确调用服务器。下一步:尝试在响应中发送一些内容:然后,始终在网络中,当您单击“预览”时,您应该会看到响应的正文。如果响应在那里,那么您必须使用使用状态挂钩来设置状态并生成您的页面
-
我在下面为您发布了“后续步骤”,如果您发现中间有一些问题,请告诉我,我会尝试添加更多步骤
-
在看到响应后,我看到我以纯 HTML 格式获取 index.html 作为响应,一切都只是服务器初始化的提升。我非常感谢@AndreaCostanzo1 的帮助。你给了我一些宝贵的调试能力!
标签: reactjs axios use-effect