首页 > 解决方案 > 如何将数据从反应发布到 sql 数据库

问题描述

当我尝试发布数据时,它给了我GET http://localhost:5000/stored 404 (Not Found)。如何发布数据,然后将其存储在 mysql 数据库中?

这是代码React

import React from 'react'
    class InsertProduct extends React.Component{
        constructor(){
            super( )
        }

   postData(){

    fetch('/stored', {
        method: 'POST',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json',
            },
        body: JSON.stringify({
            firstParam: 'yourValue',
            secondParam: 'yourOtherValue',
        })
        })

   }
    render(){
        return(
            <div>
                <button onClick={() => this.postData()}>Submit</button>
            </div>
        )
    }
}


export default InsertProduct;

这是nodeexpress

app.post('/stored', (req, res) => {
  res.send(req.body)

});

标签: mysqlnode.jsreactjsexpress

解决方案


您将不得不分享更多代码,以便我确切知道出了什么问题。但错误表明它无法在端口 5000 的“/stored”端点上找到 GET 方法。

  • 您正在共享 POST 端点的代码,但您的错误消息显示 GET。所以那里有些奇怪。您应该仔细检查该错误消息是否由于发布请求而发生。
  • 在您的反应代码中,您只有 fetch("/stored"...),5000 是您的服务器正在侦听的正确端口吗?
  • 另一个可能的问题是,您可能在某些未共享的快速中间件代码中存在错误。

对于调试,首先只记录来自端点的响应:

app.post('/stored', (req, res) => {
  res.send('POST request received');
})

一旦您确认您收到了预期的响应,然后继续解析请求的正文并将其发送到您的数据库。


推荐阅读