Javascript 无法从快速路由器获得响应

Javascript 无法从快速路由器获得响应,javascript,node.js,express,Javascript,Node.js,Express,请求get/post到我的服务器时,未从服务器获得任何响应。 我尝试在index.js中处理订单,但没有成功。 我试过让邮递员将post发送到localhost:8080/register,但在发送请求时被卡住了 我猜这是因为任何一个中间件阻止了它,所以我试着注释掉所有的app.use,而不是authRouter,但似乎无论如何都不起作用 Index.js const express = require('express'); const bodyParser = require('body-p

请求get/post到我的服务器时,未从服务器获得任何响应。 我尝试在index.js中处理订单,但没有成功。 我试过让邮递员将post发送到localhost:8080/register,但在发送请求时被卡住了

我猜这是因为任何一个中间件阻止了它,所以我试着注释掉所有的app.use,而不是authRouter,但似乎无论如何都不起作用

Index.js

const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');

const db = require('./config/dbConfig');

const app = express();

const authRouter = require('./router/authRouter');

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

const PORT = process.env.PORT || 8080;

db.sync({ force: true }).then(() => {
    app.listen(PORT, () => console.log(`Server up and running @ ${PORT}`));
});

authRouter.js

const { Router } = require('express');
const authController = require('../controllers/authController');
const router = Router();

router.get('/register', () => {
    authController.register_get;
});
router.get('/login', () => {
    authController.signin_get;
});
router.post('/register', () => {
    authController.register_post;
});
router.post('/login', () => {
    authController.signin_post;
});

module.exports = router;
authController.js

module.exports.register_get = (req, res) => {
    res.send('signup');
};

module.exports.register_post = (req, res) => {
    res.send('signup');
};

module.exports.signin_get = (req, res) => {
    res.send('signup');
};

module.exports.signin_post = (req, res) => {
    res.send('signup');
};


router.post('/register',…)
的第二个参数应该是当客户端向
/register
路由发送
post
请求时将调用的函数

您将函数传递给了
router.post(…)
方法,在该路由处理程序函数中,您只有一条语句:

authController.register_post;
这句话毫无意义。您需要调用
register\u post
函数并传入
req
res
参数,以允许
register\u post
函数访问
请求
响应
对象

router.post('/register', (req, res) => {
    authController.register_post(req, res);
});
或者只需将引用传递给
authController.register\u post
函数

router.post('/register', authController.register_post);

router.post('/register',…)
的第二个参数应该是当客户端向
/register
路由发送
post
请求时将调用的函数

您将函数传递给了
router.post(…)
方法,在该路由处理程序函数中,您只有一条语句:

authController.register_post;
这句话毫无意义。您需要调用
register\u post
函数并传入
req
res
参数,以允许
register\u post
函数访问
请求
响应
对象

router.post('/register', (req, res) => {
    authController.register_post(req, res);
});
或者只需将引用传递给
authController.register\u post
函数

router.post('/register', authController.register_post);

您必须实际使用正确的参数调用控制器函数。因此,改变这一点:

router.get('/register', () => {
    authController.register_get;
});
其中一项:

router.get('/register', (req, res, next) => {
    authController.register_get(req, res, next);
});
或:


您必须实际使用正确的参数调用控制器函数。因此,改变这一点:

router.get('/register', () => {
    authController.register_get;
});
其中一项:

router.get('/register', (req, res, next) => {
    authController.register_get(req, res, next);
});
或:


您向您的服务器发送的确切请求是什么?@jfriend00使用一些随机的json正文发出post请求。我询问您使用的确切URL,以便我们检查特定的路由,但是后来我发现你所有的路由定义都是错误的,所以我在下面发布了一个答案。你到底向你的服务器发送了什么请求?@jfriend00使用一些随机的json正文发出post请求。我问的是你使用的确切URL,以便我们可以检查特定的路由,但后来我发现你们所有的路线定义都是错误的,所以我在下面贴了一个答案。谢谢!就像你说的,我没有意识到我必须调用这些函数!你在其他路线上也犯了同样的错误,别忘了修复它们。谢谢!就像你说的,我没有意识到我必须调用这些函数!你在所有其他路线上也犯了同样的错误,别忘了修复它们。