最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如果我更改端点,中间件不起作用

IT培训 admin 1浏览 0评论

如果我更改端点,中间件不起作用

我的NodeJs - Express服务器有一个奇怪的问题,它作为我的移动应用程序的后端。问题是我发送邮件请求到某些端点,如checkmail,使用axios的前端checkusername,它可以工作,但问题是它不适用于任何其他中间件功能。我真的复制了相同的checkmail,只是使用了不同的路由,我得到状态404,而/ checkmail它的工作原理!此外/ login不起作用,我在那里使用express.Router。这是我的app.js代码:

const express = require("express");
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
var cors = require("cors");
const User = require("./models/user");
var AuthController = require('./auth/authController');
const app = express();
let server = require("http").Server(app);

app.use(cors());
app.use(
  bodyParser.urlencoded({
  extended: true
})
);
app.use(bodyParser.json());

 //Check if e-mail is aready in use, return "success" if not
app.use("/signup", (req, res) => {
  User.findOne({
  email: req.body.email
  },
  function (err, user) {
  if (user) {
    res.send("error");
  } else {
    res.send("success");
   }
 }
);
});

//Check if e-mail is aready in use, return "success" if not
app.use("/checkmail", (req, res) => {
  User.findOne({
  email: req.body.email
  },
  function (err, user) {
  if (user) {
    res.send("error");
  } else {
    res.send("success");
  }
 }
 );
});



app.use('/login', AuthController);

const port = process.env.PORT || 8500;

server.listen(port, () => {});
回答如下:

中间件应该有第三个参数。

app.use("/checkmail", (req,res,next)=>{
//do something
})

如果我更改端点,中间件不起作用

我的NodeJs - Express服务器有一个奇怪的问题,它作为我的移动应用程序的后端。问题是我发送邮件请求到某些端点,如checkmail,使用axios的前端checkusername,它可以工作,但问题是它不适用于任何其他中间件功能。我真的复制了相同的checkmail,只是使用了不同的路由,我得到状态404,而/ checkmail它的工作原理!此外/ login不起作用,我在那里使用express.Router。这是我的app.js代码:

const express = require("express");
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
var cors = require("cors");
const User = require("./models/user");
var AuthController = require('./auth/authController');
const app = express();
let server = require("http").Server(app);

app.use(cors());
app.use(
  bodyParser.urlencoded({
  extended: true
})
);
app.use(bodyParser.json());

 //Check if e-mail is aready in use, return "success" if not
app.use("/signup", (req, res) => {
  User.findOne({
  email: req.body.email
  },
  function (err, user) {
  if (user) {
    res.send("error");
  } else {
    res.send("success");
   }
 }
);
});

//Check if e-mail is aready in use, return "success" if not
app.use("/checkmail", (req, res) => {
  User.findOne({
  email: req.body.email
  },
  function (err, user) {
  if (user) {
    res.send("error");
  } else {
    res.send("success");
  }
 }
 );
});



app.use('/login', AuthController);

const port = process.env.PORT || 8500;

server.listen(port, () => {});
回答如下:

中间件应该有第三个参数。

app.use("/checkmail", (req,res,next)=>{
//do something
})
发布评论

评论列表 (0)

  1. 暂无评论