AJAX POST请求永远不会完成。向服务器发送数据

AJAX POST请求永远不会完成。向服务器发送数据,ajax,node.js,post,backbone.js,mongoose,Ajax,Node.js,Post,Backbone.js,Mongoose,我正在通过AJAX发送post请求。数据已成功发布,但AJAX调用从未完成。前线骨干,;背面的节点。我在主干视图和快速路线中包含保存功能 save: function(event) { event.preventDefault(); console.log( 'You signed up for ' + this.model.get('name')); var name = this.model.get('name'); var courseDay =

我正在通过AJAX发送post请求。数据已成功发布,但AJAX调用从未完成。前线骨干,;背面的节点。我在主干视图和快速路线中包含保存功能

save: function(event) {
     event.preventDefault();

     console.log( 'You signed up for ' + this.model.get('name'));
     var name = this.model.get('name');
     var courseDay = this.model.get('courseDay');
     var time = this.model.get('time');
     var location = this.model.get('location');

        jQuery.post("/test/signups", {
          "name" : name,
          "courseDay" : courseDay,
          "time" : time,
          "location" : location,

        }, function (data, textStatus, jqXHR) { 
               console.log("Post response:");
               console.dir(data);
               console.log(textStatus);
               console.dir(jqXHR); 
        });

      }
路线:

app.post('/test/signups', isLoggedIn, function (req, res){

    User.findOne({'_id': req.user.id }, function(err, user) {
        if (err)
           return done(err);

        if (user) {
           user.signup.name = req.body.name;
           user.signup.courseDay = req.body.courseDay;
           user.signup.time = req.body.time;
           user.signup.location = req.body.location;
           user.signup.modified = req.body.modified;

           user.update({$push: { "signup" : 
            {   name: user.signup.name,
                courseDay: user.signup.courseDay,
                time: user.signup.time,
                location: user.signup.location,
                modified: user.signup.modified
            }
            }},{safe:true, upsert:true},function(err){
                if(err){
                    console.log(err);
                } else {
                    console.log("Successfully added" + user.signup);
                }
           });

           }        
        });

       });

服务器端代码需要发送响应。试试下面的方法。注意:我试图涵盖所有错误、找不到用户和找到用户的情况

app.post('/test/signups', isLoggedIn, function (req, res){
  User.findOne({'_id': req.user.id }, function(err, user) {
    if (err) {
      return res.status(500).send(err);
    }

    if (user) {
       user.signup.name = req.body.name;
       user.signup.courseDay = req.body.courseDay;
       user.signup.time = req.body.time;
       user.signup.location = req.body.location;
       user.signup.modified = req.body.modified;

       user.update({$push: { "signup" :
         {   name: user.signup.name,
            courseDay: user.signup.courseDay,
            time: user.signup.time,
            location: user.signup.location,
            modified: user.signup.modified
         }
        }},{safe:true, upsert:true},function(err){
            if(err){
              return res.status(500).send(err);
            }
            console.log("Successfully added" + user.signup);
            res.send(user);
       });
    } else {
      res.status(404).send();
    }
  });
});