我将以下代码的重要部分包括在内......
updates = {};
products = {};
newProducts = category.items[0].items;
oldProducts = categoryData[i][0].items;
itemsObj = {};
updates['changes'] = [];
后面跟着一堆代码,用于将项目添加到“更改”中,例如......
itemsObj['update'] = "modify";
itemsObj['id'] = oldProduct.id;
itemsObj['type'] = oldProduct.type;
itemsObj['qty'] = newProduct.qty;
updates['changes'].push(itemsObj);
在所有更新之后,我在测试期间拨打了下面的警报。当我后来试图删除它时,我发现我不再得到上面的“更改”。
alert(JSON.stringify(updates));
如果我没有做上面的提醒,那么'updates'(最终是updateJSON)只返回下面的'productRequest',而不是上面的'change'。我已经尝试将更新的字符串化版本设置为另一个变量,登录到控制台,以及我在网上找到的其他一些hacky方式,但只有上述警报适用于我。显然有一种方法可以解决这个问题,我无法在生产中发出警报。
products['action'] = "editProducts";
products['id'] = xxxxxxxx;
updates['productRequest'] = products;
updateFinal = JSON.stringify(updates);
consoleLog(updateFinal);
任何人都有我期望的简单解决方案吗?