从POST接收Axios响应

velaa5lx  于 2023-02-22  发布在  iOS
关注(0)|答案(3)|浏览(155)

在发出Axios POST请求后,我尝试接收节点/Express服务器的响应。
我可以成功地发送一条消息到我的服务器,在那里它被记录在控制台。我正在尝试记录服务器的响应从我的浏览器(使用代码在axios.post.then()下面)。任何想法为什么响应没有记录任何东西到控制台?
--客户端--

<html>
<head>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
    <button onclick="axiosPost()">Post Test</button>

    <script>
        function axiosPost() {
            axios.post('http://localhost:3000/submitMessage', {
            message: "sample message",
            }).then(response => {
                console.log(response);
            })
            .catch(error => {
                console.log(error);
            });
        }
    </script>
    </div>
</body>     
</html>

--服务器端--

const express = require('express');
const app = express();
const port = 3000;
var path = require('path');

// serves index.html
app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname + '/index.html'))
});

app.listen(port, () => console.log(`Listening at http://localhost:${port}`))

// Parse JSON bodies (as sent by API clients)
app.use(express.json());

app.post('/submitMessage', function(request, response){
    message = request.body.message;
    console.log("Message: " + message);
    response.send('Server response message!!');
})
dpiehjr4

dpiehjr41#

在你的前端监听response.data。或者在你的服务器端使用简单的response.end('Message')

aurhwmvo

aurhwmvo2#

我从未使用过Axios,但我认为您需要返回JSON

app.post('/submitMessage', (request, response) => {
    message = request.body.message;
    console.log("Message: " + message);

    response.status(200).json({
        status: 200,
        ok: true,
        data: {
            msg: message
            // Any data for the response
        }
    })
})

您还可以在前端使用异步/等待
有一个很好的职位here你可以检查它

z8dt9xmd

z8dt9xmd3#

回顾过去,我的错误是没有意识到有两个控制台:一个用于我的客户端,一个用于服务器。我正在搜索我的服务器控制台以查找记录到我的客户端控制台的消息。
消息最终被记录到我的客户端控制台。感谢每一个帮助初学者的人!

相关问题