欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在vue中使用cookie記住用戶上次選擇的實例(本次例子中為下拉框)

 更新時間:2020年09月11日 15:37:00   作者:侯賽雷  
這篇文章主要介紹了在vue中使用cookie記住用戶上次選擇的實例(本次例子中為下拉框),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近工作中碰到一個需求,添加一條數(shù)據(jù)時,自動記住上次選擇的下拉框的數(shù)據(jù),剛開始覺得沒思路,后來請教了項目組長,組長直接一句,這不很簡單吧,直接用cookie,我:.......

好吧,都王的差不多了,于是經過一番百度實踐,測試,總算是可以了,接下來就說說實踐以及一些坑!

開發(fā)環(huán)境: webpack+vue+java后臺

要實現(xiàn)這個小功能,其實只需要在vue中寫相應的功能就可以了,并不需要在后臺寫什么,但是如果寫的不正確,后臺也是會報錯的,代碼如下:

先把這幾個方法寫上,刪除的看需求決定需不需要:

//設置cookie
    setCookie(projectId,exdays) {
      var exdate=new Date();//獲取時間
      exdate.setTime(exdate.getTime() + 24*60*60*1000*exdays);//保存的天數(shù)
      //字符串拼接cookie
      window.document.cookie="projectId"+ "=" +projectId+";expires="+exdate.toGMTString();
    },
    //讀取cookie
    getCookie:function () {
    console.log(document.cookie);
    let me=this;
    if (document.cookie.length>0) {
      var arr=document.cookie.split('; ');//這里顯示的格式需要切割一下自己可輸出看下
      for(var i=0;i<arr.length;i++){
      var arr2=arr[i].split('=');//再次切割
      //判斷查找相對應的值
      if(arr2[0]=='projectId'){
        me.workhourData.projectId=arr2[1];//保存到保存數(shù)據(jù)的地方
      }
      }
    }
    },
    //清除cookie
    clearCookie:function () {
    this.setCookie("","",-1);//修改2值都為空,天數(shù)為負1天就好了
    },

我這里是只需要一個projectId即可,實際中可以根據(jù)具體需求設置,

注意,這里有個坑,那就是中文,如果你需要存儲中文cookie,而不進行任何處理的話,那么后臺是會報錯的,

java.lang.IllegalArgumentException: Control character in cookie value or attribute

這個錯誤一般是中文編碼引起的,中文采用的是Unicode編碼,而英文采用的是ASCII編碼,當Cookie保存中文的時候需要對中文進行編碼,而且從Cookie中取出內容的時候也要進行解碼,所以必須特殊處理

escape(value) 編碼

cookievalue=unescape(value); 解碼

百度有恨多中方法,這里不多說!

然后就是在頁面每一次加載的時候去調用this.getCookie()方法就可以了,

還要記住一點是,保存的時候也要設置cookie,這樣才會生效,還有就是時間問題了,根據(jù)具體需求傳參即可!

最后需要說的時,如果一旦報錯或者不想要cookie了,可以手動清楚瀏覽器cookie!,這是最快的方式:

補充知識:vue 前后端分離調用后端數(shù)據(jù)(加深記憶)

1、在.vue文件中引入調用對應后臺數(shù)據(jù)方法,并調用此方法

import {getAccount} from '../assets/js/index'

2、前端申請后臺數(shù)據(jù)(安裝axios依賴)

//上方引入的index.js
import axios from 'axios'
import {baseUrl} from "./config";
import $ from 'jquery'
import './base'

export const getAccount=()=>{
  return axios.post(`${baseUrl}/index/index/index`).then(res=>{
    return res.data;
  })
}

//config.js
export const baseUrl='http://shagua.com';
//base.js
import axios from 'axios';
import qs from 'qs';
import router from '../../router'

axios.defaults.withCredentials=true; //允許跨域發(fā)送cookie
axios.defaults.transformRequest = [function(data) { //解析post數(shù)據(jù)
 if(typeof data=='object'){
 return qs.stringify(data);
 }else{
 return data;
 }
  
}];

axios.defaults.transformResponse=[function(data){ //攔截response請求,做統(tǒng)一跳轉
 data=JSON.parse(data);
 if(data.status=='-99'){
 router.push({path:'/login'});
 }
 return data;
}];

3、后端接收前端申請并返回數(shù)據(jù)(此處使用tp5,這里是允許訪問,后臺業(yè)務去對應調用的方法里寫)

//跨域訪問的時候才會存在此字段
$origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
 
$allow_origin = array(
  'http://localhost:8080',
);
 
if(in_array($origin, $allow_origin)){
  header('Access-Control-Allow-Credentials: true');
  header("Access-Control-Allow-Headers: *");
  header('Access-Control-Allow-Origin:'.$origin);
  header('Access-Control-Max-Age:3600');
}

以上這篇在vue中使用cookie記住用戶上次選擇的實例(本次例子中為下拉框)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • vue實現(xiàn)數(shù)字+英文字母組合鍵盤功能

    vue實現(xiàn)數(shù)字+英文字母組合鍵盤功能

    這篇文章主要介紹了vue實現(xiàn)數(shù)字+英文字母組合鍵盤功能,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • vue3中vuex與pinia的踩坑筆記記錄

    vue3中vuex與pinia的踩坑筆記記錄

    Vuex是一個專為Vue.js應用程序開發(fā)的狀態(tài)管理模式,它采用集中式存儲管理應用的所有組件的狀態(tài),并以相應的規(guī)則保證狀態(tài)以一種可預測的方式發(fā)生變化,這篇文章主要給大家介紹了關于vue3中vuex與pinia踩坑的相關資料,需要的朋友可以參考下
    2021-12-12
  • 超級詳細的Vue安裝與配置教程

    超級詳細的Vue安裝與配置教程

    Vue web前端三大主流框架之一,是一套用于構建用戶界面的漸進式框架,下面這篇文章主要給大家介紹了關于Vue安裝與配置教程的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • vue 實現(xiàn)特定條件下綁定事件

    vue 實現(xiàn)特定條件下綁定事件

    今天小編就為大家分享一篇vue 實現(xiàn)特定條件下綁定事件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue+ElementUI表格狀態(tài)區(qū)分,row-class-name屬性詳解

    Vue+ElementUI表格狀態(tài)區(qū)分,row-class-name屬性詳解

    這篇文章主要介紹了Vue+ElementUI表格狀態(tài)區(qū)分,row-class-name屬性,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue移動端UI框架實現(xiàn)QQ側邊菜單組件

    vue移動端UI框架實現(xiàn)QQ側邊菜單組件

    這篇文章主要介紹了vue移動端UI框架實現(xiàn)仿qq側邊菜單組件,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-03-03
  • vue中使用echarts并根據(jù)選擇條件動態(tài)展示echarts圖表

    vue中使用echarts并根據(jù)選擇條件動態(tài)展示echarts圖表

    雖然老早就看過很多echarts的例子, 但自己接觸的項目中一直都沒有真正用到過,直到最近才開始真正使用,下面這篇文章主要給大家介紹了關于vue中使用echarts并根據(jù)選擇條件動態(tài)展示echarts圖表的相關資料,需要的朋友可以參考下
    2023-12-12
  • Vue 頁面切換效果之 BubbleTransition(推薦)

    Vue 頁面切換效果之 BubbleTransition(推薦)

    使用 vue,vue-router,animejs 來講解如何實現(xiàn)vue頁面切換效果之 BubbleTransition,需要的朋友參考下吧
    2018-04-04
  • web開發(fā)中如何優(yōu)雅的解決"重復請求"問題

    web開發(fā)中如何優(yōu)雅的解決"重復請求"問題

    在我們的日常開發(fā)當中,很多時候會出現(xiàn)短時間內重復請求的情況,如果沒有妥當?shù)靥幚砗蠊車乐?這篇文章主要給大家介紹了關于web開發(fā)中如何優(yōu)雅的解決重復請求問題的相關資料,需要的朋友可以參考下
    2022-05-05
  • Vue開發(fā)之watch監(jiān)聽數(shù)組、對象、變量操作分析

    Vue開發(fā)之watch監(jiān)聽數(shù)組、對象、變量操作分析

    這篇文章主要介紹了Vue開發(fā)之watch監(jiān)聽數(shù)組、對象、變量操作,結合實例形式分析了vue.js使用Watch針對數(shù)組、對象、變量監(jiān)聽相關操作技巧,需要的朋友可以參考下
    2019-04-04

最新評論