我正在制作一个表单,其中每次用户单击一个选项时,都会向服务器发送一个post请求,它会更新database.In我的案例服务器只接受6个post请求。在此之后,不会响应任何请求。此外,如果我单击后退按钮并重新登录,这些未响应的请求将被接受。
route.js
const express = require('express');
const router = express.Router();
const mongoose = require('mongoose');
const { ensureAuthenticated } = require('../config/auth');
const async = require('async');
const times = require('../config/timer.json');
var User = require('../models/UG');
var Avail = require('../models/avail.js)
router.post('/schedule/add',(req,res)=>{
console.log(req.body);
User.findByIdAndUpdate({_id:req.user.id},{
$push:
{times:
{
date:req.body.er2,
codes:req.body.er1
}
}
},(err,user)=>{
if(err) console.log(err);
// else console.log(user);
});
var avail = new Avail();
avail.userid = req.user.id,
avail.date = req.body.er2,
avail.codes = req.body.er1
avail.save(function(err){
if(err) console.log(err);
})
// console.log(req.query);
})
router.post('/schedule/remove',(req,res)=>{
console.log(req.body+'remove');
User.findByIdAndUpdate({_id:req.user.id},{
$pull:
{times:
{
date:req.body.er2,
codes:req.body.er1
}
}
},(err,user)=>{
if(err) console.log(err);
// else console.log(user);
});
Avail.deleteMany({userid:req.user.id,
date : req.body.er2,
codes : req.body.er1 }, function (err) {
if(err) console.log(err)
});
})
module.exports = router;
client.js
function addtime(){
// console.log(this.getAttribute('data-id'))
console.log('add');
this.classList.add('active');
var er1 = this.getAttribute('data-id');
var er2 = this.getAttribute('data-date');
axios({
method: 'post',
url: '/ugdashboard/schedule/add',
data: {
er1: er1,
er2: er2
}
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
}
附言:这是我的第一个问题,请原谅我的问题结构和错误
发布于 2020-05-22 19:49:55
您不会结束请求。您需要在post处理程序中调用res.end()。
https://stackoverflow.com/questions/61962540
复制