平均堆栈客户端更新



我在实现客户端更新CRUD逻辑时遇到了麻烦。这些字段目前正在被删除,设置是这样的。我错过了什么?

我的角:

$scope.editService = function(id) {
        $http.put('/api/hc/' + id, 
                  {title: 'new',
                   shortname: 'new',
                  summary: 'new',
                  description: 'new'}
                  )
           .success(function(data) {
        })
        .error(function(data) {
            console.log('Error: ' + data);
        });
}; 

我的表达:似乎没有得到传递JSON值,出于某种原因,所有的字段和键被擦干净,只留下_id和_v键和值。

.put(function(req, res) {
    Service.findById(req.params._id, function(err, service) {
        if (err)
            res.send(err);
        service.title = req.body.title;     // update the items info
        service.summary = req.body.summary;
        service.shortname = req.body.shortname;
        service.description = req.body.description;
        // save the items
        service.save(function(err) {
            if (err)
                res.send(err);
            res.json({ message: 'Service updated!' });
        });
    });
})

我的观点

 <form name="editForm" ng-submit="editService(service._id)" ng-repeat="service in services 
 filter:json">
  <input type="text" placeholder="{{ service.title}}" ng-model="serviceTitle" required>
  <input type="text" placeholder="{{ service.shortname}}" ng-model="serviceShortname" required>
  <input type="text" placeholder="{{ service.description}}" ng-model="serviceSummary" required>
  <textarea type="text" placeholder="{{ service.summary}}" ng-model="serviceDescription" required></textarea>
  <button type="submit">Edit</button>
  </form>

您实际上没有在您给出的示例中放入数据。

$http.put('/api/hc/' + id)
应该

$http.put('/api/hc/' + id, formData)

,其中formData是从要发送到管道的表单字段中收集的任何对象。另外,看看angular的$[resource][1]服务,比起直接使用$http,它是一种更简洁的REST客户端方式。

相关内容

  • 没有找到相关文章

最新更新