node.js - 使用 axios 请求失败,状态码为 400
问题描述
我正在尝试使用我使用节点制作的登录 API,但是,每当我使用 Axios 调用 API 时,它都会在控制台中给我一个请求失败。
这就是我使用 axios 调用我的方法的方式:
axios
.post(
"http://localhost:8080/staffMember/login",
{
email: "Fred@gmail.com",
password: "Flintstone",
},
{
headers: {
"Content-Type": "application/json",
},
}
)
.then((response) => {
console.log(response);
})
.catch((error) => {
console.log(error.message);
});
};
这是我的登录页面和控制台:
这是我的后端配置:
require("dotenv").config();
const mongoose = require("mongoose");
const express = require("express");
const app = express();
const staffMember = require("./routers/staffMember.router.js");
const hrMember = require("./routers/hrMember.router.js");
const academicMember = require("./routers/academic members/academicMember.router");
const headOfDepartment = require("./routers/academic members/headOfDepartment.router");
const courseInstructor = require("./routers/academic members/courseInstructor.router");
const courseCoordinator = require("./routers/academic members/courseCoordinator.router");
var cors = require("cors");
app.use(cors());
mongoose
.connect(process.env.DATABASE_CONN_STRING, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false,
useCreateIndex: true,
})
.then(() => {
console.log("DB connected");
})
.catch(() => {
console.log("DB connection failed");
});
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use("/staffMember", staffMember);
app.use("/hrMember", hrMember);
app.use("/academicMember", academicMember);
app.use("/courseInstructor", courseInstructor);
app.use("/courseCoordinator", courseCoordinator);
app.use("/headOfDepartment", headOfDepartment);
module.exports = app;
解决方案
请试试这个
axios.post('YOUR_FULL_URL', {
username: 'api',
password: 'MY_PASSWORD',
grant_type: 'MY_GRANT_TYPE'
}, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}}).then(response => {console.log(response)})
.catch(error => {
console.log(error.response)
});
推荐阅读
- knockout.js - Uncaught (in promise) ReferenceError: ValidationBase is not defined
- android - 运行 Ionic cordova 时出现无限循环 run android --livereload
- node.js - express 接收 favicon.ico 作为默认路由的参数
- sql - 有没有一种方法可以按 id 升序保存我的表格
- r - 使用列内的固定效果信息重塑 R 中的数据
- google-apps-script - 在 Chrome 扩展程序中使用 Google Apps 脚本
- flutter - Flutter 在有状态小部件中将数据发送到其他页面
- mysql - 根据另一个表中定义的映射重命名表列的列 - 使用 MYSQL
- c# - 使用 docker 在 linux 中运行 dotnet 应用程序
- regex - 我会通过正则表达式 javascript 从给定字符串中选择所有子字符串以“CREATE TABLE”开头并以“;”结尾