recherche

Maison  >  Questions et réponses  >  le corps du texte

Express JS MongoDB oblige Postman à envoyer une demande bloquée

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});

P粉448130258P粉448130258234 Il y a quelques jours376

répondre à tous(1)je répondrai

  • P粉101708623

    P粉1017086232024-03-31 09:40:33

    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) 语句。并且还处理 errConditions.

    Essayez d'ajouter une impression userInfo.usernameuserInfo.password et ajoutez une capture d'écran ici si le problème n'est pas résolu.

    répondre
    0
  • Annulerrépondre