Apabila saya tidak meletakkan res.status(200).json({message: "success", status: true});
di luar penyata if, Posmen buntu menghantar permintaan
var express = require('express'); var app = express(); var bodyParser = require('body-parser'); var multer = require('multer'); var upload = multer(); var cookieParser = require('cookie-parser'); var mongoose = require('mongoose'); app.set('view engine', 'pug'); app.set('views', 'views'); app.use(express.json()); app.use(bodyParser.json( { extended: true} )); app.use(bodyParser.urlencoded({extended: true })); app.use(upload.array()); app.use(cookieParser()); mongoose.set('strictQuery', true); mongoose.connect('mongodb://127.0.0.1:27017/my_db', { useNewUrlParser: true, useUnifiedTopology: true },(err) => { if(err){ }else{ console.log("connected"); } } ); var userSchema = mongoose.Schema({ username: {type: String, required: true, index: { unique: true }}, password: {type: String, required: true} }); var User = mongoose.model("User", userSchema); app.post('/signup', (req, res) => { var userInfo = req.query; if(!userInfo.username || !userInfo.password ){ res.status("400"); res.send("Invalid Details"); }else { const newUser = new User({ username: userInfo.username, password: userInfo.password }); User.findOne({username: userInfo.username} , (err, response) => { if(response == null){ newUser.save().then( ()=> { res.status(200).json({ message: 'Success!', status: true}); // res.status(200).end(); }).catch( error => { res.status(400).json({message: err, status: false}); console.log("existing user"); }); } //res.status(200).json({message: "success", status: true}); }); } }); app.listen(3000);
Bagaimana untuk menghentikan kod pada bahagian "kemudian" atau tangkap, saya ingin menangkap hasilnya dan memaparkannya di bahagian hadapan. Posmen tersekat semasa menghantar permintaan apabila saya tidak meletakkan res.status(200).json({message: "success", status: true});
Pertama sekali, anda menghantar JSON sebagai parameter pertanyaan kepada API, yang bukan idea yang baik.
Dan dalam kod anda, anda harus mempertimbangkan dan mengendalikan keadaan
corner
menggunakan pernyataan lain.else
语句没有if(response == null)
语句。并且还处理err
Syarat.Cuba tambah cetakan
userInfo.username
和userInfo.password
dan tambahkan tangkapan skrin di sini jika isu itu tidak diselesaikan.