AmplifyJS不在本地存储中存储JavaScript数组

时间:2013-03-07 11:20:30

标签: javascript jquery arrays local-storage amplifyjs

我遇到了AmplifyJS的问题,我将数组数组存储到本地存储中,使用product_array_to_add键设置,然后我尝试使用以下命令访问它:

var prod_array = amplify.store('product_array_to_add');

我得到一个空数组。

// this code works
var product_ids = amplify.store('product_ids_to_add').split(':');
console.log(product_ids);

// both console output statements produce empty arrays
var prod_array = amplify.store('product_array_to_add'); 
console.log(prod_array);
console.dir(prod_array);

以下代码是设置值的方式:

amplify.store('product_ids_to_add', product_ids);
amplify.store('product_array_to_add', ProductsArr);

AmplifyJS是否存在存储阵列数组的问题?还有其他原因导致我无法访问阵列吗?

1 个答案:

答案 0 :(得分:0)

我发现问题归结于我没有将JS对象推入数组中。所以我改变了我的代码来做到这一点,并且Amplify很高兴允许我在另一端检索数据。

var ProductsArr = new Array();

$.each($("#container .product"), function(){

   productObj = {       
      name: $(this).find('.prod_name').text(),
      code: $(this).find('.prod_code').text(),
      price: parseInt($(this).find('.prod_price').text()),
      prod_id: $(this).find('.size_select').val()                       
   };

   ProductsArr.push(productObj);        

});

amplify.store('product_array_to_add', ProductsArr);