Quand je ne mets pas res.status(200).json({message: "success", status: true});
en dehors de l'instruction if, Postman est bloqué lors de l'envoi de la demande
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);
Comment arrêter le code sur la partie "then" ou catch, je souhaite capturer le résultat et l'afficher sur le frontend. Postman est bloqué lors de l'envoi de la demande lorsque je ne mets pas res.status(200).json({message: "success", status: true});
Tout d'abord, vous transmettez JSON comme paramètres de requête à l'API, ce qui n'est pas une bonne idée.
Et dans votre code, vous devez considérer et gérer les conditions
corner
à l'aide d'instructions else.else
语句没有if(response == null)
语句。并且还处理err
Conditions.Essayez d'ajouter une impression
userInfo.username
和userInfo.password
et ajoutez une capture d'écran ici si le problème n'est pas résolu.