$ http PUT请求缓慢且不成功没有状态代码,没有错误

时间:2015-07-05 18:40:07

标签: javascript angularjs node.js mongodb mongoose

当用户提交表单时,服务器应该收到更新轮询数据库的PUT请求。奇怪的是,在我的开发控制台中,我可以看到立即调用Poll.update的回调,但PUT请求需要120000毫秒。然后,即使开发控制台显示成功的PUT请求,数据库也不会更新,并且永远不会调用我的.success回调。

  

更新了[对象]

     

PUT / api / polls / 5599725069753a7711fd4274 / 0 200 120083ms

在我的浏览器中,我只看到没有状态代码的PUT请求。我没有看到任何错误消息。

民意调查控制器的路线:

 var express = require('express');
 var controller = require('./poll.controller');
 var router = express.Router();

 router.put('/:id', controller.update);

 module.exports = router;

Mongoose Poll控制器:

exports.update = function(req, res) { 
  var update = {$set: {'poll_name': 'Poll has been updated'}};

  Poll.update(req.params.id, update, function(err, num, doc) {
  if(err) console.log(err);
  else {
    console.log('Updated ' + doc); // This is logged after vote is submitted
    }
});
};

单击提交时调用的角度代码:

$scope.addVote = function() {
  $http.put('api/polls/' + $scope._id).success(function(result) {
      console.log('Vote submitted'); //This is never called
    }
  );
};

1 个答案:

答案 0 :(得分:0)

您的服务器没有发送任何响应,这就是您在很长一段时间后看到请求结束的原因。在console.log之后添加res.send,您将看到在客户端收到的响应