【问题标题】:Reactjs axios post response is not returning anythingReactjs axios 发布响应没有返回任何内容
【发布时间】:2020-08-16 04:04:15
【问题描述】:

我正在使用 axios.post() 在我的 Reactjs 应用程序的后端编辑一个 mysql 数据库。数据可以通过 post 请求到达后端。但是我需要知道发布请求何时完成并从中返回一些数据,以了解后端代码运行是否正常。我尝试了以下方法,其中 newEdit 是一个对象,其中包含后端所需的信息

axios
 .post('http://ip:3001/edit_table', newEdit)
 .then((response) => { 
     console.log("response: ",response);
 }, (error) =>{
     console.log("error: ",error)
 });

控制台日志语句均未运行。再一次,该对象确实可以很好地访问路由的 nodejs 文件,但我无法得到任何类型的响应。有谁知道发生了什么?谢谢。

【问题讨论】:

    标签: node.js reactjs axios


    【解决方案1】:

    确保您的后端正在向客户端返回响应。 您可以使用res.sendres.json。 res.send([body]) 用于向客户端发送 HTTP 响应,而 res.json(body) 用于发送 JSON 响应。

    res.send([body])

    res.send(new Buffer('whoop'));
    res.send({ some: 'json' });
    res.send('<p>some html</p>');
    

    示例:

    var express = require('express')
    var app = express()
    
    app.get('/', function (req, res) {
        res.send('hello world')
    })
    
    app.listen(3000)
    

    res.json([body])

    res.json(null)
    res.json({ user: 'tobi' })
    res.status(500).json({ error: 'message' })
    

    示例:

    var express = require('express')
    var app = express()
    
    app.get('/', function (req, res) {
        res.json({ success: true })
    })
    
    app.listen(3000)
    

    参考资料:

    Express API 参考

    Node.js 响应对象方法res.send and res.json

    【讨论】:

    • 这绝对是朝着正确方向迈出的一步,我似乎无法找到有关此功能的任何文档。你知道我在哪里可以获得更多关于它的信息吗?谢谢
    • 我已经用示例和参考资料编辑了我的答案。我希望它有所帮助:) 祝你好运!
    【解决方案2】:

    如果您的后端代码正常并返回响应,那么您可以按照以下完美运行的示例进行操作。

    const updateData = async () => {
                try {
                    const response = await axios.put(`https://jsonplaceholder.typicode.com/posts/${id}`, {
                        method: 'PUT',
                        body: JSON.stringify({
                            id: id,
                            title: post.title,
                            body: post.body,
                            userId: 1
                        }),
                        headers: {
                            "Content-type": "application/json; charset=UTF-8"
                        }
                    })
                        .then(response => response.json())
                        .then(json => console.log(json));
                    console.warn(response.data);
                } catch (error) {
                    console.warn(error);
                }
            };
    

    【讨论】:

      猜你喜欢
      • 2019-04-14
      • 1970-01-01
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 2021-07-03
      • 2021-05-21
      • 2020-06-25
      • 1970-01-01
      相关资源
      最近更新 更多