节点 js 路由不工作,总是显示不能 post
Node js route not working,always shows cannot post
我也提到了一些关于 Whosebug 的答案,但仍然没有用。当我在 app.js 中使用 app.post 函数时它可以工作,但是当我将路由放入其中时它不起作用并且 post 人说不能 post。它在 1 天前工作正常。
这是app.js
的代码
let express=require("express");
let app=express();
let signuproute=require("./routes/signup");
app.listen(3000,function(req,res){
console.log("server started");
});
app.get("/",function(req,res){
console.log("home page called");
res.send({message:"Thanks for calling home page"});
});
app.post("/signup",signuproute);
上面的注册路径不起作用但是当我直接传递其中的函数时
app.post("/signup",function(req,res){ console.log("signed up"); });
它在控制台上打印已注册。那么为什么路由不起作用。
这是我注册的路线,signup.js:
let express=require('express');
let router=express.Router();
console.log("Signup called");
router.get("/",function(req,res){
});
router.post("/",function(req,res,next){
res.send({message:"thank you for signing up"});
});
module.exports=router;
在 app.post ('/signup')
和 app.get ('/')
两种情况下,使用 app.use ('/signup')
和 app.use ('/home')
由于您使用单独的路由文件进行注册例程,因此也使用一个路由文件进行家庭路由。
let express=require("express");
let app=express();
let signuproute = require("./routes/signup");
let homePageRoute = require("./routes/homePageRoute"); // define a home page route
app.listen(3000,function(req,res){
console.log("server started");
});
app.use("/signup", signuproute);
app.use("/home", homePageRoute); // use created home page route
router.post 已经包含一个 post 方法,在这种情况下使用 app.post 而不是 app.use 方法。
app.use('/signup',signuproute);
Signup 路由包含您在 signup.js 中编写的任何方法,都可以在 /signup 路由中访问。
问题是您已经在 routes/signup.js
文件中定义了一个 post 路由处理程序。因此写 app.post(router.post(function (req, res, next) {})
.
是没有意义的
您必须按照 in express.JS API references 所述使用 app.use
功能。
将 app.use('/signup', signupRoute)
视为通用注册功能的 /signup
命名空间。例如,将来您可能希望通过 /user/create
路由重用 SignUp 功能,例如 app.use('/user/create', signupRoute)
.
您的示例应如下所示:
let express = require("express");
let app = express();
let signupRoute = require("./routes/signup");
app.listen(3000, function(req, res) {
console.log("server started");
});
app.get("/",function(req,res){
console.log("home page called");
res.send({message:"Thanks for calling home page"});
});
app.use("/signup",signupRoute);
我也提到了一些关于 Whosebug 的答案,但仍然没有用。当我在 app.js 中使用 app.post 函数时它可以工作,但是当我将路由放入其中时它不起作用并且 post 人说不能 post。它在 1 天前工作正常。
这是app.js
let express=require("express");
let app=express();
let signuproute=require("./routes/signup");
app.listen(3000,function(req,res){
console.log("server started");
});
app.get("/",function(req,res){
console.log("home page called");
res.send({message:"Thanks for calling home page"});
});
app.post("/signup",signuproute);
上面的注册路径不起作用但是当我直接传递其中的函数时
app.post("/signup",function(req,res){ console.log("signed up"); });
它在控制台上打印已注册。那么为什么路由不起作用。
这是我注册的路线,signup.js:
let express=require('express');
let router=express.Router();
console.log("Signup called");
router.get("/",function(req,res){
});
router.post("/",function(req,res,next){
res.send({message:"thank you for signing up"});
});
module.exports=router;
在 app.post ('/signup')
和 app.get ('/')
两种情况下,使用 app.use ('/signup')
和 app.use ('/home')
由于您使用单独的路由文件进行注册例程,因此也使用一个路由文件进行家庭路由。
let express=require("express");
let app=express();
let signuproute = require("./routes/signup");
let homePageRoute = require("./routes/homePageRoute"); // define a home page route
app.listen(3000,function(req,res){
console.log("server started");
});
app.use("/signup", signuproute);
app.use("/home", homePageRoute); // use created home page route
router.post 已经包含一个 post 方法,在这种情况下使用 app.post 而不是 app.use 方法。
app.use('/signup',signuproute);
Signup 路由包含您在 signup.js 中编写的任何方法,都可以在 /signup 路由中访问。
问题是您已经在 routes/signup.js
文件中定义了一个 post 路由处理程序。因此写 app.post(router.post(function (req, res, next) {})
.
您必须按照 in express.JS API references 所述使用 app.use
功能。
将 app.use('/signup', signupRoute)
视为通用注册功能的 /signup
命名空间。例如,将来您可能希望通过 /user/create
路由重用 SignUp 功能,例如 app.use('/user/create', signupRoute)
.
您的示例应如下所示:
let express = require("express");
let app = express();
let signupRoute = require("./routes/signup");
app.listen(3000, function(req, res) {
console.log("server started");
});
app.get("/",function(req,res){
console.log("home page called");
res.send({message:"Thanks for calling home page"});
});
app.use("/signup",signupRoute);