Node.js Restangular put()从表单更新时产生404

Node.js Restangular put()从表单更新时产生404,node.js,angularjs,express,restangular,Node.js,Angularjs,Express,Restangular,Restangular在发送PUT请求时向我抛出了404,我不知道为什么 我有一个事件集合,我得到一个事件并在表单中更新它 根据,当我对事件发出PUT请求时,它应该路由到api/events/:eventId。相反,我得到一个错误,说它正在路由到api/events 错误: PUT http://localhost:9000/api/events 404 (Not Found) 你能看出我错在哪里吗?我根本没有更改Restanglar上的配置 这是我的控制器: var restEvent =

Restangular在发送PUT请求时向我抛出了404,我不知道为什么

我有一个事件集合,我得到一个事件并在表单中更新它

根据,当我对事件发出PUT请求时,它应该路由到
api/events/:eventId
。相反,我得到一个错误,说它正在路由到
api/events

错误:

PUT http://localhost:9000/api/events 404 (Not Found) 
你能看出我错在哪里吗?我根本没有更改Restanglar上的配置

这是我的控制器:

var restEvent = Restangular.one("api/events", $routeParams.eventId);

restEvent.get().then(function(eventData) {
  // the eventData is successfully coming through
  $scope.thisEvent = Restangular.copy(eventData);

  // $scope.thisEvent is modified in the form

  // updateEvent() runs when my Event form is submitted
  $scope.updateEvent = function() {
    $scope.thisEvent.put();
  };
});
以下是我的快速更新路线:

// update route -------------
app.route('/api/events/:event_id')
  .get(events.show)
  .put(events.updateEvent);

有什么建议吗?

这可能是浏览器的问题,我建议对PUT和PATCH进行以下操作:

  app.config(function(RestangularProvider) {
    RestangularProvider.setMethodOverriders(['put', 'patch']);
  });

这可能是浏览器问题,我建议对PUT和PATCH使用此选项:

  app.config(function(RestangularProvider) {
    RestangularProvider.setMethodOverriders(['put', 'patch']);
  });

这可能是浏览器问题,我建议对PUT和PATCH使用此选项:

  app.config(function(RestangularProvider) {
    RestangularProvider.setMethodOverriders(['put', 'patch']);
  });

这可能是浏览器问题,我建议对PUT和PATCH使用此选项:

  app.config(function(RestangularProvider) {
    RestangularProvider.setMethodOverriders(['put', 'patch']);
  });

这实际上是Restanglar/Mongo的一个问题。Restangular将其主键默认为“id”,而Mongo使用“\u id”。当Restangular试图将事件对象中的“id”附加到
api/events
时,它找不到“id”,只能路由到
api/events

下面是建议的代码,它解决了这个问题:

app.config(function(RestangularProvider) {
    RestangularProvider.setRestangularFields({
      id: "_id"
    });
});

这实际上是Restanglar/Mongo的一个问题。Restangular将其主键默认为“id”,而Mongo使用“\u id”。当Restangular试图将事件对象中的“id”附加到
api/events
时,它找不到“id”,只能路由到
api/events

下面是建议的代码,它解决了这个问题:

app.config(function(RestangularProvider) {
    RestangularProvider.setRestangularFields({
      id: "_id"
    });
});

这实际上是Restanglar/Mongo的一个问题。Restangular将其主键默认为“id”,而Mongo使用“\u id”。当Restangular试图将事件对象中的“id”附加到
api/events
时,它找不到“id”,只能路由到
api/events

下面是建议的代码,它解决了这个问题:

app.config(function(RestangularProvider) {
    RestangularProvider.setRestangularFields({
      id: "_id"
    });
});

这实际上是Restanglar/Mongo的一个问题。Restangular将其主键默认为“id”,而Mongo使用“\u id”。当Restangular试图将事件对象中的“id”附加到
api/events
时,它找不到“id”,只能路由到
api/events

下面是建议的代码,它解决了这个问题:

app.config(function(RestangularProvider) {
    RestangularProvider.setRestangularFields({
      id: "_id"
    });
});

这并不是答案,但它在文档中为我指明了正确的方向。谢谢这并不是答案,但它在文档中为我指明了正确的方向。谢谢这并不是答案,但它在文档中为我指明了正确的方向。谢谢这并不是答案,但它在文档中为我指明了正确的方向。谢谢