Angularjs 将操作放入Node.js中

Angularjs 将操作放入Node.js中,angularjs,node.js,Angularjs,Node.js,对于put请求: router.put('/:id', controller.update); 我的更新方法如下所示: exports.update = function(req, res) { if(req.body._id) { delete req.body._id; } Thing.findById(req.params.id, function (err, thing) { if (err) { return handleError(res, err); }

对于put请求:

router.put('/:id', controller.update);
我的更新方法如下所示:

exports.update = function(req, res) {
  if(req.body._id) { delete req.body._id; }
  Thing.findById(req.params.id, function (err, thing) {
    if (err) { return handleError(res, err); }
    if(!thing) { return res.status(404).send('Not Found'); }
    var updated = _.merge(thing, req.body);
    updated.save(function (err) {
      if (err) { return handleError(res, err); }
      return res.status(200).json(thing);
    });
  });
};
    PUT http://localhost:9000/api/things/56c8325b9a0ee7d00d266495
    net::ERR_CONNECTION_REFUSED(anonymous function) @ angular.js:11442sendReq @ 
提出请求:

$http.put('/api/things/'+ thing._id, updatedThingObject)
          .success(function(update){
            console.log("update", update)
          })
          .error(function(err){
            console.log("err", err)
          })
它在以角度发出请求时传递对象时给出连接错误

错误如下所示:

exports.update = function(req, res) {
  if(req.body._id) { delete req.body._id; }
  Thing.findById(req.params.id, function (err, thing) {
    if (err) { return handleError(res, err); }
    if(!thing) { return res.status(404).send('Not Found'); }
    var updated = _.merge(thing, req.body);
    updated.save(function (err) {
      if (err) { return handleError(res, err); }
      return res.status(200).json(thing);
    });
  });
};
    PUT http://localhost:9000/api/things/56c8325b9a0ee7d00d266495
    net::ERR_CONNECTION_REFUSED(anonymous function) @ angular.js:11442sendReq @ 
如果我取下更新的对象,它会使请求很好,但当然没有任何内容得到更新

那个案子。请问这里有什么问题

我想

函数未被调用的原因是我有一个函数在节点中被重复调用

var autoCreate = function(){
  console.log("THING CREATED AUTOMATICALLY")
  var randomNumb=0;
    clearTimeout(randomNumb);

     randomNumb = (Math.random()* (10-5) + 5).toFixed(0);
    console.log("random number", randomNumb)
   var randomThing =randomstring({
  length: randomNumb,
  numeric: false,
  letters: true,
  special: false
});
   console.log("ranfom thing", randomThing)

   Thing.create({
    name: randomThing,
    readByUser: false 
  }, function(err, thing) {
    console.log("THING IS", thing)
      //setTimeout(autoCreate, randomNumb * 1000);
    });





  }

  setTimeout(autoCreate, 10*1000);

因为这是在发出post/put请求时运行的,所以我得到了连接错误。如何处理此问题以使此函数能够运行并能够发出put/post请求?

什么是
updatedThingObject
?我怀疑
updatedThingObject
是造成问题的原因,因为它可能会导致一些错误,导致连接中断,而您实际遇到了此错误否。即使我传递完全相同的对象而不进行任何更新,它仍然不会work@Michelem:即使我在没有任何更新的情况下传递相同的对象,它也会返回相同的错误首先,您需要检查控制台错误,如CORS策略错误。。开发人员工具为这种没有线索的东西提供了提示—试试看:-)