[英]my node.js user registration is not working with “/auth/registration” but works with “/registration”
我收到錯誤,無法通過我的代碼POST /auth/auth/register
,但是當我更改時
app.get('/auth/register')
到 app.get('/register')
的代碼可以正常工作。 任何人都可以告訴我問題出在哪里,如果有人幫助我解決問題,那將是一個很大的幫助。
我嘗試將app.get('/auth/register')
更改為其他路由,例如('/create/registration')、app.get('/Registering/user'),但是它不起作用。我應該使用僅app.get('/userRegister')
或app.get('createNewUser')
或app.get('goodRegister')
const express = require('express');
const expressEdge = require('express-edge');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const userController = require('./controllers/createUser');
const storeUserController = require('./controllers/storeUser');
const app = new express();
app.get('/auth/register', userController);
app.post('/users/register', storeUserController);
const User = require('../database/models/User')
}
//my controller
module.exports = (req, res) => {
User.create(req.body, (error, user) => {
res.redirect('/')
})
}
//my database model
const bcrypt = require('bcrypt');
const mongoose = require('mongoose');
const UserSchema = new mongoose.Schema({
username: {
type: String,
required: true
},
email: {
type: String,
required: true,
unique: true
},
password: {
type: String,
required: true
}
})
UserSchema.pre('save', function(next) {
const user = this
bcrypt.hash(user.password, 10, function(error, encrypted) {
user.password = encrypted
next()
})
})
module.exports = mongoose.model('User', UserSchema);
app.listen(4000, () => {
console.log("application listening on port 4000")
})
//my view
<form action="users/register" method="POST" encType="multipart/form-data">
我已經解決了這個問題。 感謝大家抽出時間來檢查並給出一個或另一個解釋。 代碼的問題是我的控制器的路徑。 文件的名稱不應該是User
而是user
所以我將const User = require('../database/models/User')
更改為const User = require('../database/models/User')
與數據庫/模型目錄下的文件名匹配
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.