把操作放在Node.js中

时间:2016-02-20 09:04:24

标签: angularjs node.js

对于看跌请求:

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);
    });
  });
};

提出要求:

$http.put('/api/things/'+ thing._id, updatedThingObject)
          .success(function(update){
            console.log("update", update)
          })
          .error(function(err){
            console.log("err", err)
          })

在以角度发出请求时传递对象时出现连接错误。

错误如下所示:

    PUT http://localhost:9000/api/things/56c8325b9a0ee7d00d266495
    net::ERR_CONNECTION_REFUSED(anonymous function) @ angular.js:11442sendReq @ 

如果我取消更新的对象,它会使请求很好,但当然没有更新

那个案子。这可能有什么问题,拜托?

我想。

没有调用函数的原因是我有一个在Node中重复调用的函数。

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请求时运行,因此出现连接错误。如何处理此功能才能运行此功能并能够发出/发布请求?

0 个答案:

没有答案