最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

好吧,都王的差不多了,于是經(jīng)過一番百度實(shí)踐,測(cè)試,總算是可以了,接下來就說說實(shí)踐以及一些坑!

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

要實(shí)現(xiàn)這個(gè)小功能,其實(shí)只需要在vue中寫相應(yīng)的功能就可以了,并不需要在后臺(tái)寫什么,但是如果寫的不正確,后臺(tái)也是會(huì)報(bào)錯(cuò)的,代碼如下:

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

//設(shè)置cookie
    setCookie(projectId,exdays) {
      var exdate=new Date();//獲取時(shí)間
      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('=');//再次切割
      //判斷查找相對(duì)應(yīng)的值
      if(arr2[0]=='projectId'){
        me.workhourData.projectId=arr2[1];//保存到保存數(shù)據(jù)的地方
      }
      }
    }
    },
    //清除cookie
    clearCookie:function () {
    this.setCookie("","",-1);//修改2值都為空,天數(shù)為負(fù)1天就好了
    },

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

注意,這里有個(gè)坑,那就是中文,如果你需要存儲(chǔ)中文cookie,而不進(jìn)行任何處理的話,那么后臺(tái)是會(huì)報(bào)錯(cuò)的,

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

這個(gè)錯(cuò)誤一般是中文編碼引起的,中文采用的是Unicode編碼,而英文采用的是ASCII編碼,當(dāng)Cookie保存中文的時(shí)候需要對(duì)中文進(jìn)行編碼,而且從Cookie中取出內(nèi)容的時(shí)候也要進(jìn)行解碼,所以必須特殊處理

escape(value) 編碼

cookievalue=unescape(value); 解碼

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

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

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

最后需要說的時(shí),如果一旦報(bào)錯(cuò)或者不想要cookie了,可以手動(dòng)清楚瀏覽器cookie!,這是最快的方式:

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

1、在.vue文件中引入調(diào)用對(duì)應(yīng)后臺(tái)數(shù)據(jù)方法,并調(diào)用此方法

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

2、前端申請(qǐng)后臺(tái)數(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請(qǐng)求,做統(tǒng)一跳轉(zhuǎn)
 data=JSON.parse(data);
 if(data.status=='-99'){
 router.push({path:'/login'});
 }
 return data;
}];

3、后端接收前端申請(qǐng)并返回?cái)?shù)據(jù)(此處使用tp5,這里是允許訪問,后臺(tái)業(yè)務(wù)去對(duì)應(yīng)調(diào)用的方法里寫)

//跨域訪問的時(shí)候才會(huì)存在此字段
$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記住用戶上次選擇的實(shí)例(本次例子中為下拉框)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue實(shí)現(xiàn)大轉(zhuǎn)盤抽獎(jiǎng)功能

    vue實(shí)現(xiàn)大轉(zhuǎn)盤抽獎(jiǎng)功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)大轉(zhuǎn)盤抽獎(jiǎng)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue彈窗的兩種實(shí)現(xiàn)方式實(shí)例詳解

    Vue彈窗的兩種實(shí)現(xiàn)方式實(shí)例詳解

    這篇文章主要介紹了Vue彈窗的兩種實(shí)現(xiàn)方式,一種使用.sync修飾符另一種使用v-model,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Vue 實(shí)現(xiàn)從小到大的橫向滑動(dòng)效果詳解

    Vue 實(shí)現(xiàn)從小到大的橫向滑動(dòng)效果詳解

    這篇文章主要介紹了Vue 實(shí)現(xiàn)從小到大的橫向滑動(dòng)效果,結(jié)合實(shí)例形式詳細(xì)分析了vue.js橫向漸變滑動(dòng)效果的實(shí)現(xiàn)步驟、相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • Vue生產(chǎn)環(huán)境如何自動(dòng)屏蔽console

    Vue生產(chǎn)環(huán)境如何自動(dòng)屏蔽console

    這篇文章主要介紹了Vue生產(chǎn)環(huán)境如何自動(dòng)屏蔽console問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • vue3使用vue-router的完整步驟記錄

    vue3使用vue-router的完整步驟記錄

    Vue Router是Vue.js (opens new window)官方的路由管理器,它和 Vue.js 的核心深度集成,讓構(gòu)建單頁面應(yīng)用變得易如反掌,這篇文章主要給大家介紹了關(guān)于vue3使用vue-router的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • 如何在Vue中使localStorage具有響應(yīng)式(思想實(shí)驗(yàn))

    如何在Vue中使localStorage具有響應(yīng)式(思想實(shí)驗(yàn))

    這篇文章主要介紹了如何在Vue中使localStorage具有響應(yīng)式,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 前端記錄輸入框的歷史輸入記錄實(shí)現(xiàn)步驟(輸入框數(shù)據(jù)記憶功能)

    前端記錄輸入框的歷史輸入記錄實(shí)現(xiàn)步驟(輸入框數(shù)據(jù)記憶功能)

    這篇文章主要介紹了如何使用localStorage來記錄每個(gè)輸入框的歷史輸入記錄,并在用戶輸入時(shí)動(dòng)態(tài)更新這些記錄,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • Vuepress 搭建帶評(píng)論功能的靜態(tài)博客的實(shí)現(xiàn)

    Vuepress 搭建帶評(píng)論功能的靜態(tài)博客的實(shí)現(xiàn)

    這篇文章主要介紹了Vuepress 搭建帶評(píng)論功能的靜態(tài)博客的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • 淺談vue中document.getElementById()拿到的是原值的問題

    淺談vue中document.getElementById()拿到的是原值的問題

    這篇文章主要介紹了淺談vue中document.getElementById()拿到的是原值的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue+ElementUi+iframe實(shí)現(xiàn)輪播不同的網(wǎng)站

    vue+ElementUi+iframe實(shí)現(xiàn)輪播不同的網(wǎng)站

    需要實(shí)現(xiàn)一個(gè)輪播圖,輪播內(nèi)容是不同的網(wǎng)站,并實(shí)現(xiàn)鼠標(biāo)滑動(dòng)時(shí)停止輪播,當(dāng)鼠標(biāo)10秒內(nèi)不動(dòng)時(shí)繼續(xù)輪播,所以本文給大家介紹了用vue+ElementUi+iframe實(shí)現(xiàn)輪播不同的網(wǎng)站,需要的朋友可以參考下
    2024-02-02

最新評(píng)論

新蔡县| 湖南省| 鄢陵县| 盐山县| 文昌市| 渝北区| 惠来县| 莲花县| 农安县| 玉环县| 定州市| 松潘县| 磐安县| 深水埗区| 洛浦县| 剑川县| 宝鸡市| 依安县| 彭阳县| 遂溪县| 万全县| 青阳县| 阳东县| 格尔木市| 长海县| 海伦市| 上饶县| 甘德县| 乌拉特后旗| 太仆寺旗| 鸡泽县| 神池县| 成安县| 荃湾区| 兴业县| 顺昌县| 安达市| 班玛县| 万安县| 翁牛特旗| 丹巴县|