我一直在关注使用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]
显然没有得到身份证。
任何想法都表示赞赏。
答案 0 :(得分:0)
update方法有两个参数,你只提供一个