Express JS MongoDB oblige Postman à envoyer une demande bloquée
P粉448130258
P粉448130258 2024-03-30 10:41:07
0
1
288

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粉448130258
P粉448130258

répondre à tous(1)
P粉101708623

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!