node.js - axios 发帖请求一直挂断
问题描述
我正在使用 async/await 语法在 React.js 中使用 axios 发出发布请求。该请求只是将新用户插入到 mysql 数据库中的表中。该请求正在通过并且正在插入数据,但是,我的 POST 请求处于待处理状态。
这是反应的前端代码:
export const register = (first_name, last_name, email, password) => async (
dispatch
) => {
try {
dispatch({
type: USER_REGISTER_REQUEST,
});
const user = {
first_name,
last_name,
email,
password,
};
const { data } = await axios.post("api/users/insertdata", user);
dispatch({
type: USER_REGISTER_SUCCESS,
payload: data,
});
dispatch({
type: USER_LOGIN_SUCCESS,
payload: data,
});
localStorage.setItem("userInfo", JSON.stringify(data));
} catch (error) {
dispatch({
type: USER_REGISTER_FAIL,
payload:
error.response && error.response.data.message
? error.response.data.message
: error.message,
});
}
};
这是 node.js 和 express 的后端代码:
router.post("/insertdata", (req, res) => {
const { first_name, last_name, email, password } = req.body.first_name;
let sql = `INSERT INTO users (first_name, last_name, email, password) VALUES (?,?,?,?);`;
connection.query(
sql,
[first_name, last_name, email, password],
(err, result) => {
if (err) {
console.log(err);
} else {
res.status(201);
console.log("insert complete");
}
}
);
});
解决方案
解决方案最终只是我的一个简单的疏忽。在后端,我在向 mysql 发出 post 请求后没有返回任何数据。请参阅下面的 if/else 语句。
router.post("/insertdata", (req, res) => {
const { first_name, last_name, email, password } = req.body.first_name;
let sql = `INSERT INTO users (first_name, last_name, email, password) VALUES (?,?,?,?);`;
connection.query(
sql,
[first_name, last_name, email, password],
(err, result) => {
if (err) {
console.log(err);
} else {
res.send(req.body);
res.status(201);
console.log("insert complete");
}
}
);
});
推荐阅读
- android - 每次我重新启动应用程序时都会删除 SQLite 数据库
- http - 如何在 OctoberCMS 中设置 Cache-Control HTTP 标头?
- c# - 如何将php数组转换为c#数组?
- react-native - 在 React Native 中从 AsyncStorage 设置 TextInput 值
- c# - SignalR 从控制器 ASP.NET Core 2.1 调用特定客户端
- javascript - 在 Windows 中,停止 postgres 服务会导致节点崩溃并显示“错误:由于管理员命令而终止连接”
- javascript - 重新选择。做出反应。使用 Reselect 以获得最大性能的最佳方式是什么?
- react-native - 更改 React Native 日历的下拉图标
- vba - VBA中的查询表错误
- html - Onclick 表单未验证