我正在使用axios.post()编辑我的Reactjs应用程序后端的mysql数据库。数据通过发布请求到达后端罚款。但是我需要知道发布请求何时完成,并从中返回一些数据,以了解后端代码是否正确运行。我尝试了以下操作,其中newEdit是一个对象,该对象具有后端所需的信息
axios
.post('http://ip:3001/edit_table', newEdit)
.then((response) => {
console.log("response: ",response);
}, (error) =>{
console.log("error: ",error)
});
两个控制台日志语句均未运行。再次,该对象确实可以很好地到达路由的nodejs文件,我只是无法获得任何形式的响应。有人知道发生了什么吗?谢谢。
答案 0 :(得分:0)
确保您的后端正在将响应返回给客户端。
您可以使用res.send
或res.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
答案 1 :(得分:0)
如果您的后端代码还可以并返回响应,那么您可以按照下面的示例进行操作。
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);
}
};