我包括我认为下面的重要代码位......
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));
如果我不执行上面的警报,那么“更新”(最终是 updateJSON)只会返回下面的“productRequest”,而不是上面的“更改”。我尝试将更新的字符串化版本设置为另一个变量,登录到控制台,以及我在网上找到的其他一些 hacky 方式,但只有上述警报对我有用。显然有办法解决这个问题,我不能在生产中发出警报。
products['action'] = "editProducts";
products['id'] = xxxxxxxx;
updates['productRequest'] = products;
updateFinal = JSON.stringify(updates);
consoleLog(updateFinal);
有人有我期望的简单解决方案吗?