Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 来自服务和id问题的角度更新_Angularjs_Stamplay - Fatal编程技术网

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

Angularjs 来自服务和id问题的角度更新,angularjs,stamplay,Angularjs,Stamplay,我一直在遵循Scotch.io教程,使用Stamplay和Angular从这里构建Etsy克隆 我一直在尝试更新记录。我有一个具有以下功能的服务: 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;

我一直在遵循Scotch.io教程,使用Stamplay和Angular从这里构建Etsy克隆

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

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]

显然没有拿到身份证


欢迎提出任何意见

更新方法有两个参数,您只提供一个

product.set和product.save?还必须在控制器中定义吗?-我是Angular的新手。我猜这个调用:Product.update(main.productData)使用的是上面定义的update方法,在这种情况下,main.productData对象作为id参数传递并由fetch使用,这将解释url似乎传递到url中的任何内容都不是一个基本值类型,而是一个数组或对象。您可以注销此值以查看传递到url的内容吗?