1. 程式人生 > >php或js利用localStorage儲存陣列

php或js利用localStorage儲存陣列

1.陣列要轉json格式:json_encode($re),

2.存:localStorage.setItem('weekDay',JSON.stringify(weekArray));

3.取:取: weekArray = JSON.parse(localStorage.getItem('weekDay'));

php檔案程式碼,php嵌入js程式碼將結果陣列儲存,在js中與使用者互動時呼叫

   $re = ['name'=>'tom',"add"=>'2223265656'];
    print_r ($re["name"]);
    
    //將陣列中後續需要的資訊儲存快取,供後續使用
    echo '<script language="javascript">';
    // echo "var a = JSON.stringify(".json_encode($re).");"; //間接轉換,先轉換資料格式
    // echo "console.log('json資料',a);";
    echo 'localStorage.setItem("data0",JSON.stringify('.json_encode($re).'));';
    echo '</script>'; 


js程式碼呼叫。

//測試輸出localStorage
	let cat = JSON.parse(localStorage.getItem('data0'));
	// let cat = localStorage.getItem('data0');
	let cats = localStorage.getItem('data');
	console.log(cat);
	console.log(cats);

localStorage儲存陣列以及取陣列方法。

var weekArray = ['週一'、'週二'、'週三'、'週四'、'週五']
存:localStorage.setItem('weekDay',JSON.stringify(weekArray));
取: weekArray = JSON.parse(localStorage.getItem('weekDay'));

。js的使用;

最好先判斷。再使用。

   if(window.localStorage){
         console.log('This browser supports localStorage');
        }else{
         console.log('This browser does NOT support localStorage');
        }

簡單的重複新增購物車,利用本地儲存

 let storage = window.localStorage;
        if (!storage.getItem("cartLocal")) {
         
            //預先判斷本地沒有儲存過資料,
          cart.push(this.dataBase);
          window.localStorage.setItem("cartLocal",JSON.stringify(cart))
        }else{
           //預先判斷如果本地有儲存過資料,先獲取本地資料再新增
          cart = JSON.parse(window.localStorage.getItem("cartLocal")); 
          cart.push(this.dataBase);
          window.localStorage.setItem("cartLocal",JSON.stringify(cart))
        }