当前位置: 首页 > 知识库问答 >
问题:

发布一个简单的反应表单 - 节点,公理,节点邮件程序,后端,邮递员

洪鹏海
2023-03-14

我已经设置了一个运行在http://localhost:3000/about上的react表单,并在端口5000 (localhost:5000)上运行了后端。在react的package.json上,我设置了“代理”:“localhost:5000:。

当我使用邮递员并将帖子发送到本地主机:5000 / api /联系人时,电子邮件已正确发送(我以JSON格式发送数据 - 名称,电子邮件和消息)。状态 200

当我使用react表单时,数据已经作为json准备好了,但我无法找到baseURL来正确发送方法post。状态404。我尝试了:localhost:3000/about/api/contact;本地主机:3000/api/contact;localhost:3000/api……无效。。。

仅供参考,服务器使用以下中间件进行设置,并且工作正常:

app.use('/api',contactRoute)

the controller is imported and coded as following:

router.post('/contact', (req, res)=>{
    const data = req.body;

React 部件未使用 axios 正确发布,编码如下:

onSubmit: async (values) => {
        //values.preventDefault();

        try {

            const data = (JSON.stringify(values, null, 2))
            setLoader(true);
            console.log(data)
            await axios.post('/contact', data);

反应中的方法帖子从未完成,当我检查数据console.log时,结构正确为JSON…状态404

共有2个答案

廖琨
2023-03-14

默认情况下,axios使用URL的基本路径。所以,当一个API请求发出时。

await axios.post('/contact', data);

它实际上是在localhost:3000上发出post请求,而不是在localhost:5000上发出请求。还有,“api”也要前置。

一种简单的方法是使用应该有效的绝对URL。

await axios.post('http://localhost:5000/api/contact', data);
令狐阳秋
2023-03-14

在axois请求{port:5000}中使用post参数,然后它将使用实际的后端端口。

 类似资料:
  • 问题内容: 我决定将设置保存在xml文件中,因为field只接受一个值。 我的XML文件就像 谁能建议我一个简单的PHP脚本来读取,编辑,添加和删除节点和节点值? 问题答案: 如果您的XML真的那么简单,可以使用CRUD。SimpleXml将XML解析为SimpleXmlElements的树结构。简而言之,您可以像这样使用它: 请参考PHP手册以获取更多用法示例和API描述。 在阿里纳斯,如果你真

  • 我正在尝试使用原始JSON执行POST请求。 当预期的时候 不知道--为什么会这样?

  • 我正在使用nodemailer发送电子邮件,但它只适用于电子邮件,不适用于gmail 这是配置连接 //节点邮件程序配置 在这里,我正在发送电子邮件,但无法发送gmail帐户。NodeEmailer 6.1.1无法与NodeJs一起工作

  • 我有一个关于Strapi电子邮件插件的问题。我想使用Nodemailer。当我用邮递员测试它时,我得到了错误500。我是否用错误的格式编写了PostScript JSON? 提前感谢! 本杰明

  • 给定单链表的最后一个节点,我们如何找到头节点? 假设给定JSON: {“id”:“A”,“next”:“B”},{“id”:“B”,“next”:“C”}{“id”:“C”,“next”:“D”}{“id”:“D”,“next”:“null} 现在假设上面没有排序,我们需要算出HEAD元素“A”。

  • 问题内容: 如果我有这样的列表: 重新排列DOM节点以我的喜好最简单的方法是什么?(这需要在页面加载时自动发生,从cookie获取列表顺序首选项) 例如 问题答案: 尽管使用JS库可能有一种更简单的方法,但这是使用香草js的有效解决方案。