我有一块JS:
$('.go-to-bag').click(function () {
var productId = $(this).parent().attr('id');
var productName = $(this).parent().attr('product-name');
var productQty = $(this).prev().val();
var productLWeight = $(this).parent().attr('product-weight');
var productPrice = $(this).parent().attr('product-price');
var newList = new Object();
if(sessionStorage.newShoppingList)
{
newShoppingList = JSON.parse(sessionStorage.getItem('newShoppingList'));
} else {
newShoppingList = []
}
newShoppingList.push(productId, productName, productQty, productPrice, productLWeight);
sessionStorage.setItem('newShoppingList', JSON.stringify(newShoppingList));
var retrievedObject = sessionStorage.getItem('newShoppingList');
console.log('retrievedObject: ', JSON.parse(retrievedObject));
});
应该将项目添加到sessionStorage的对象中,如下所示: 相反,它给出了:
它工作正常,并且知道它不工作。 唯一的区别是我的同事在主文件中的php中实现了语言功能。
有人建议吗?
答案 0 :(得分:1)
您正在调用函数Array.prototype.push
并传递5个参数,这些参数将分别插入到该数组中。
Array.prototype.push
您需要用大括号将其包裹
v
newShoppingList.push({
productId,
productName,
productQty,
productPrice,
productLWeight
});
^
上面的代码将添加一个对象,如下所示:
{
"productId": 29,
"productName": "Chocolote negro",
"productQty": 1,
"productPrice": "0.0",
"productLWeight": "0.00"
}