当我没有将 res.status(200).json({message: "success", status: true}); 放在 if 语句之外时,邮差卡在发送请求上
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);
如何停止“then”部分或catch上的代码,我想捕获结果并将其显示在前端。当我没有放置 res.status(200).json({message: "success", status: true}); 时,邮差卡在发送请求上在 if 语句之外
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
首先,您将 JSON 作为查询参数传递给 API,这不是一个好主意。
并且在代码中,您应该使用 else 语句考虑并处理
corner条件。else语句没有if(response == null)语句。并且还处理err条件。尝试添加打印
userInfo.username和userInfo.password并在此处添加屏幕截图(如果问题未解决)。