前端頁面間傳值之cookie傳值和url傳值


最近在作小型的電商網站,遇到了一個問題,那就是當我點擊店鋪跳轉到店鋪相應的詳情頁,這時候肯定需要接收店鋪的id,后台會傳回來店鋪的相關數據。但數據需要在詳情頁使用,這就涉及到了頁面間傳值的問題,這里主要是介紹其中兩種方法,url傳值和cookie存取值

第一種方法:url傳值(就像可以通過超鏈接的href屬性傳值是一樣的)

舉例:

var Id="1";
var name="lili";
window.location.href = '3.html?userId=' +Id + "&name=" + name;

那么在3.html中該怎么接收數據呢

function getQueryString( name ) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg); //獲取url中"?"符后的字符串並正則匹配
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context;
}

//獲取Url中中文參數的方法
function getQueryUrlString(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = window.location.search.substr(1).match(reg);
if(r != null) {
return decodeURI(r[2]);
}
return "請選擇";
}
$("#s").click(function(){
var userId = getQueryString('Id');
var dialogId=getQueryString('name');
alert(Id;
alert(name);
})

二:cookie傳值

$(function(){
var data={
id:"1",
name:"dingding",
age:20
}
$.cookie('data',JSON.stringify(data));
window.location="3.html";
})

切記:這里一定要把data對象通過方法JSON.stringify()方法序列化成字符串。。因為,cookie只能傳字符串

那么,在3.html中該如和取值呢

取值比較簡單,唯一需要切記的就是從cookie中取到的是字符串類型的數據,不能直接使用,需要用JSON.parse()方法處理一下變成對象

具體如下

$(function(){
var data=$.cookie("data");

var m=JSON.parse(data);
console.log(m.id)//數據的使用
})

剛畢業的小白,好好學習,夢想還是要有的!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM