利用window.name實現頁面跳轉之間的數據傳遞

先描述一下需求情景
有一個生成節日賀卡的頁面,a頁面最後部分用來填寫用戶名和賀卡內容,點擊提交按鈕跳轉到賀卡頁面b,b頁面顯示的就是a頁面填寫的內容和用戶名。(a頁面和b頁面是沒有跨域的...)html


一開始我只想到用ajax提交數據來實現,不過一想,是直接提交到b頁面嗎?一時之間,我也不知道該如何進行頁面跳轉之間的數據傳遞。百度許久,終於看到window.name這個方法。
ps:今天谷歌回來了嗎? 並無ajax


實現過程json

a頁面中表單提交的方法:
$("#submit").click(function(){
    var nickname = $("#nickname").val(); //獲取填寫的用戶名
    var message = $("#message").val(); //獲取填寫的賀卡內容
    var jsonData = {"nickname":nickname,"message":message}; //轉化爲json格式
    window.name = JSON.stringify(jsonData); //window.name只接受字符串格式,因此須要把json轉換一下
    window.location = "b.html"; //跳轉到b頁面
}
b頁面中獲取數據的方法:
var jsonData = JSON.parse(window.name); //將window.name轉化爲json對象
$(".signame").text(jsonData.nickname); //填充數據
$(".message").text(jsonData.message); //填充數據

這樣就完成了,挺簡單的吧.
固然由於我這個需求並不要求跨域,因此能夠這樣用。、
若是你的需求須要跨域的話,可能就不能這樣簡單的使用了。segmentfault

參考文章:跨域

  1. 利用window.name+iframe跨域獲取數據詳解code

  2. 「JavaScript」四種跨域方式詳解htm

相關文章
相關標籤/搜索