cookie妙用1——頁面間傳值

這幾天,我在寫一個網站,我做前端頁面。然後一開始我把幾個結構一樣的頁面整合成一個頁面,然後通過Ajax向後台獲取對應的數據後把不同的數據填進頁面框架裡面以生成“不同”的頁面。後來需求改了,有一個結構不一樣的頁面,而所有頁面之間要相互鏈接跳轉。問題來了,我要從那個獨立的頁面跳到被整合成一個一個頁面的幾個頁面中的一個時,我要怎麼區分是要跳到哪個“子”頁面呢?

於是我想,一個函數可以根據接收到的參數的不同而進行不同的處理,那我能不能向一個頁面傳參數而到達區分不同子頁面的目的呢?答案顯然是可以的,但是要怎麼傳呢?兩個不同的頁面的javascript貌似是在不同作用域,不能直接傳參。而雖然通過後台是可以通過表單提交的方式吧參數傳給後台,然後後台再傳給另一個頁面,但是因為後台不是我做的,這條路也被封了,怎麼辦?這時,我想到了cookie,因為cookie是存在瀏覽器的,而不同的頁面是可以訪問同一組cookie的(要在同一主機地址,做一些設置或許可以不同地址之間訪問,但我還不會用),所以我就想到了用cookie作為橋樑在兩個頁面之間傳值,這樣就不需要後台配合了,於是我查了一下,找到了   document.cookie ,通過  document.cookie = ‘name=val’ 的方式可以可以設置cookie(這裡不用設置存活時間,因為在兩個頁面之間傳值的時候瀏覽器是不會關閉的,臨時cookie是可以存活的,如果想要在關閉瀏覽器後cookie還存活,就需要設置存活時間)。然後也可以通過  String = document.cookie  獲取cookie值組字符串(格式:“name1=val1;name2=val2;name3=val3”),但是這樣只能獲取一個字符串,還不能直接用,但是可以通過 String.split(";") 的方式把 String 分成數字符串組(每個字符串數組項為一個值對),每一個數組項為("name=val"),好了,然後再用一次split("=")函數,就可以把名字和值區分開了。這樣就可以通過值名(name)來獲得對應的值(val)了。

好了,然後就這樣,當一個頁面要傳值給另一個頁面時,就可以先設置cookie,然後跳轉到另一個頁面,然後另一個頁面就可以通過獲取cookie的方式來獲取前一個頁面要傳過來的值了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值