来自服务和ID问题的角度更新

时间:2015-12-16 11:34:13

标签: angularjs stamplay

我一直在关注使用Stamplay和Angular的Scotch.io教程从这里建立一个Etsy克隆https://scotch.io/tutorials/build-an-etsy-clone-with-angular-and-stamplay-part-1

我一直在尝试更新记录。我有一个具有以下功能的服务:

function update(id, data) {
    var def = $q.defer();

    // instantiate a new product model from the stamplay js sdk
    var product = new $stamplay.Cobject(‘product’).Model;
    product.fetch(id)
      .then(function() {
        // loop over the fields in data and update the product
        angular.forEach(data, function(value, key) {
          product.set(key, value);
        });
    return product.save();
  })
  .then(function() {
    // return the record
    def.resolve(product);
  });

return def.promise;
}

然后在我的实际控制器中,我有另一个连接到服务的功能并进行更新:

function update() {
      Product.update(main.productData)
        .then(function (data) {
          main.successMessage = 'Record Updated!';
        });
       }

问题是我没有得到id,即使该函数确实/应该获取id。

我得到的错误是     [错误]无法加载资源:服务器响应状态为400(错误请求)([对象对象],第0行)

和它的网址是     / api / cobject / v1 / prdouct / [object%20Object]

显然没有得到身份证。

任何想法都表示赞赏。

1 个答案:

答案 0 :(得分:0)

update方法有两个参数,你只提供一个