簡體   English   中英

發布請求在nodejs中不起作用

[英]post request not working in nodejs

當我在瀏覽器中搜索為localhost:/ users / register

我收到Cannot GET /users/register但已在路由器中將請求指定為post。 我已經在app.js中導入了body-parser

發布請求存在於route / users.js中

 router.post("/register",(req,res,next)=>{ console.log("Post request"); let newUser=new User({ name:req.body.name, email:req.body.email, username:req.body.username, password:req.body.password }) User.addUser(newUser,(err,user)=>{ if(err) res.json({success:false,msg:"Failed to register user"}) else res.json({success:true,msg:"User registration successful"}) }) }) 

models / user.js中的架構

 const mongoose=require("mongoose") const bcrypt = require("bcryptjs") const config = require("../config/database") const UserSchema=mongoose.Schema({ name:{type:String}, email:{type:String,required:true}, username:{type:String,required:true}, password:{type:String,required:true} }) const User = module.exports=mongoose.model("User",UserSchema) module.exports.getUserById=function(id,callback){ User.findById(id,callback) } module.exports.getUserbyUsername=function(username,callback){ query={username:username} User.findOne(query,callback) } module.exports.addUser=function(newUser,callback){ bcrypt.genSalt(10,(err,salt)=>{ bcrypt.hash(newUser.password,salt,(err,hash)=>{ newUser.password=hash newUser.save(callback) }) }) } 

  1. 您的路線是/ register而不是/ users / register

  2. 自使用帖子以來,您必須傳遞參數

  3. 使用郵遞員並按照以下示例驗證請求

在此處輸入圖片說明

編輯 4。如果傳遞原始json,則必須使用bodyParser.raw()

app.use(bodyParser.raw({ inflate: true, limit: '100kb', type: 'text/xml' }));

您的路線被寫為發帖請求。 因此,當您嘗試通過瀏覽器搜索該請求時,該請求將被視為get請求。 如果您想測試您的發帖請求,請嘗試使用Postman等工具進行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM