限定员额要求

问题描述 投票:0回答:1

我正在做一个表单,每当用户点击一个选项时,就会向服务器发送一个post请求并更新数据库。在它之后,没有任何请求被响应。如果我点击返回按钮并重新登录,这些未响应的请求也会被接受。

路由.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;

客户端.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);
  });
}

P.S: 这是我的第一个问题,所以请原谅问题结构和错误。

node.js express mongoose axios express-session
1个回答
0
投票

你没有结束请求。你需要在你的post handler中调用res.end()。

© www.soinside.com 2019 - 2024. All rights reserved.