壹.背景資料:
在“單機”模式下,妳只需要使用它自己的變量。顯然,在如今的前端環境下,稍微正規壹點的項目都不太可能是這樣的。需要壹個或多個方法在服務器後臺跨頁和請求數據。
2.知識分析
幾種常用的參數傳遞方法
1,本地存儲和會話存儲
將數據存儲在本地存儲中。如果不使用removeItem()或delete刪除,或者用戶不知道瀏覽器緩存,數據會壹直留在磁盤上。壹般其大小限制在5M以內。另外,要訪問同壹個localStorage對象,頁面必須來自同壹個域名(子域無效),使用同壹個協議,並且在同壹個端口上。
但是,數據存儲在sessionStorage中,它只保留到瀏覽器關閉,因此sessionStorage不是持久的本地存儲,而只是會話級存儲。
都屬於存儲類型,所以都有存儲類型的方法。
保存數據:setItem(key,value);
讀取數據:getItem(key);
刪除單個數據:remove item(key);
刪除所有數據:clear();
獲取key: key:某個索引的key(index);
2、cookie傳遞參數
HTTP Cookie,通常直接稱為Cookie,是瀏覽器訪問服務器後,服務器發送給瀏覽器的壹段數據。
目前,壹些Cookie是臨時,而另壹些是持久的。臨時cookies只在瀏覽器中存儲指定的壹段時間。壹旦超過指定的時間段,cookies將被系統清除。
3、URL傳遞參數
壹個完整的網址大致分為五個部分:協議、主機、路徑、搜索和哈希,其中搜索和哈希(?之後的數據)是我們可以在程序中把它作為參數部分傳遞。在網頁初始化時讀取search和hash的數據然後進行壹系列操作,而search(?Name=張三&;Type=admin)也經常用作後臺請求參數。
4、ajax
AJAX是壹種創建快速動態網頁的技術。AJAX可以通過在後臺與服務器交換少量數據,使網頁異步更新。這意味著您可以更新網頁的壹部分,而無需重新加載整個網頁。
三。常見問題
在什麽情況下使用上述交付方式是合適的?
四。解決方法
在傳遞少量與隱私無關的參數時,可以使用直接的url或者GET of Form來傳遞,大量的數據可以通過POST來傳遞。
動詞 (verb的縮寫)編碼實戰
$(function() {
//從url獲取數據
var openId = getParamValue(" openId ");
//當傳輸的數據包含中文數據時,需要添加編碼設置。
//可以這樣寫:var name = decoderuri(getparam value(" username "));如果妳這樣寫,
//可以正確獲取漢字。
});
//分解url得到數據部分。
函數getUrlParams() {
var search = window . location . search;
//寫數據字典
var tmp array = search . substr(1,search.length)。拆分(& amp);
var paramsArray =新數組;
if (tmparray!= null) {
for(var I = 0;我& lttmparray.lengthi++) {
var reg = /[=|^==]/;//用=,但不包括= =
var set1 = tmparray[i]。替換(reg,' & amp');
var tmpstr 2 = set 1 . split(' & amp;'));
var array =新數組;
array[tmpstr 2[0]]= tmpstr 2[1];
paramsArray.push(數組);
}
}
//返回參數數組。
返回paramsArray
}
//根據參數名獲取參數值。
函數getParamValue(name) {
var params array = getUrlParams();
if (paramsArray!= null) {
for(var I = 0;我& ltparamsArray.lengthi++) {
for(paramsArray[I]中的變量j){
if (j == name) {
return params array[I][j];
}
}
}
}
返回null
}
創建交互式、快速動態網頁應用的網頁開發技術
函數orderCancel(orderId,commant){
var flag = false
$.ajax({
類型:“帖子”,
url:"../order/order cancel . action " ,//orderModifyStatus
數據:{"orderId":orderId," commant":commant},
數據類型:“json”,
成功:函數(數據){?//參數執行正確
var member = eval("+data+");//將包數據解析成json格式。
if(member.success=="true"){?//請求已成功執行。
flag = true
} else if(member . success = = " false "){?//請求無法執行。
alert(member . info);
}
},
錯誤:函數(json){?//參數錯誤執行
Alert("訂單取消異常,請刷新再試...");
}
});
hidediv();
返回標誌;
}
動詞 (verb的縮寫)更多討論
問題1:本地存儲和會話存儲?
答案1:壹個是永久保存在本地,壹個是關閉後刪除網頁。
不及物動詞參考資料
參考1: url方法
參考2: ajax方法
技能舒。袁秀珍
我們相信每個人都可以成為工程師。從現在開始,找個學長,帶妳入門,控制自己的學習節奏,妳在學習的路上就不再迷茫。
這是技能樹。IT培訓學院,上千名師兄在這裏找到了自己的學習路線,學習透明,成長可見。師兄1免費指導1。來和我壹起學習吧~
戳我註冊~