Chào mừng bạn đến với hướng dẫn về cách chuyển biến giữa các trang trong Javascript. Cần chuyển một số dữ liệu giữa các trang khác nhau?
Một cách dễ dàng để chuyển các biến giữa các trang là sử dụng chuỗi truy vấn
- Trên trang đầu tiên
2function get [] { // [A] GET FROM SESSION var first = sessionStorage.getItem["first"], second = JSON.parse[sessionStorage.getItem["second"]]; // [B] IT WORKS! // MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH // SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED console.log[first]; // Foo Bar console.log[second]; // ["Hello", "World"] // [EXTRA] CLEAR SESSION STORAGE // sessionStorage.removeItem["KEY"]; // sessionStorage.clear[]; }
3function get [] { // [A] GET FROM SESSION var first = sessionStorage.getItem["first"], second = JSON.parse[sessionStorage.getItem["second"]]; // [B] IT WORKS! // MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH // SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED console.log[first]; // Foo Bar console.log[second]; // ["Hello", "World"] // [EXTRA] CLEAR SESSION STORAGE // sessionStorage.removeItem["KEY"]; // sessionStorage.clear[]; }
4function get [] { // [A] GET FROM SESSION var first = sessionStorage.getItem["first"], second = JSON.parse[sessionStorage.getItem["second"]]; // [B] IT WORKS! // MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH // SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED console.log[first]; // Foo Bar console.log[second]; // ["Hello", "World"] // [EXTRA] CLEAR SESSION STORAGE // sessionStorage.removeItem["KEY"]; // sessionStorage.clear[]; }
- Trên trang thứ hai
5function get [] { // [A] GET FROM SESSION var first = sessionStorage.getItem["first"], second = JSON.parse[sessionStorage.getItem["second"]]; // [B] IT WORKS! // MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH // SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED console.log[first]; // Foo Bar console.log[second]; // ["Hello", "World"] // [EXTRA] CLEAR SESSION STORAGE // sessionStorage.removeItem["KEY"]; // sessionStorage.clear[]; }
6function get [] { // [A] GET FROM SESSION var first = sessionStorage.getItem["first"], second = JSON.parse[sessionStorage.getItem["second"]]; // [B] IT WORKS! // MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH // SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED console.log[first]; // Foo Bar console.log[second]; // ["Hello", "World"] // [EXTRA] CLEAR SESSION STORAGE // sessionStorage.removeItem["KEY"]; // sessionStorage.clear[]; }
Nhưng có nhiều phương pháp hơn mà chúng ta có thể sử dụng. Chúng ta hãy xem qua một số ví dụ trong hướng dẫn này và đâu là cách tốt hơn để giải quyết mọi việc – Đọc tiếp
ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn ví dụ khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào
TRANG TRÌNH BÀY NHANH
TẢI XUỐNG & LƯU Ý
Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa
GHI CHÚ NHANH
- Hãy lưu ý rằng một số ví dụ này sẽ không hoạt động với
7. Thay vào đó, hãy sử dụng một máy chủ web phù hợp vớifunction get [] { // [A] GET FROM SESSION var first = sessionStorage.getItem["first"], second = JSON.parse[sessionStorage.getItem["second"]]; // [B] IT WORKS! // MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH // SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED console.log[first]; // Foo Bar console.log[second]; // ["Hello", "World"] // [EXTRA] CLEAR SESSION STORAGE // sessionStorage.removeItem["KEY"]; // sessionStorage.clear[]; }
8function get [] { // [A] GET FROM SESSION var first = sessionStorage.getItem["first"], second = JSON.parse[sessionStorage.getItem["second"]]; // [B] IT WORKS! // MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH // SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED console.log[first]; // Foo Bar console.log[second]; // ["Hello", "World"] // [EXTRA] CLEAR SESSION STORAGE // sessionStorage.removeItem["KEY"]; // sessionStorage.clear[]; }
MÃ VÍ DỤ TẢI XUỐNG
Nhấp vào đây để tải xuống mã nguồn, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên mã nguồn hoặc sử dụng nó trong dự án của riêng bạn
CÁCH CHUYỂN BIẾN GIỮA CÁC TRANG
Được rồi, bây giờ chúng ta hãy tìm hiểu cách truyền biến giữa các trang trong Javascript
PHƯƠNG PHÁP 1] LƯU TRỮ PHIÊN
1a-buổi. html
function store [] {
// [A] VARIABLES TO PASS
var first = "Foo Bar",
second = ["Hello", "World"];
// [B] SAVE TO SESSION STORAGE
// [B1] FLAT STRING OR NUMBER
// SESSIONSTORAGE.SETITEM["KEY", "VALUE"];
sessionStorage.setItem["first", first];
// [B2] ARRAY OR OBJECT
// SESSION STORAGE CANNOT STORE ARRAY AND OBJECTS
// JSON ENCODE BEFORE STORING, CONVERT TO STRING
sessionStorage.setItem["second", JSON.stringify[second]];
// [C] REDIRECT
location.href = "1b-session.html";
// window.open["1b-session.html"];
}
phiên 1b. html
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
Đúng, không cần bất kỳ mánh lới quảng cáo nào. Có một khu vực lưu trữ “hộp cát” tạm thời trong Javascript được gọi là lưu trữ phiên. Rất dễ sử dụng, chỉ có 4 chức năng để biết
9function get [] { // [A] GET FROM SESSION var first = sessionStorage.getItem["first"], second = JSON.parse[sessionStorage.getItem["second"]]; // [B] IT WORKS! // MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH // SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED console.log[first]; // Foo Bar console.log[second]; // ["Hello", "World"] // [EXTRA] CLEAR SESSION STORAGE // sessionStorage.removeItem["KEY"]; // sessionStorage.clear[]; }
00function get [] { // [A] GET FROM SESSION var first = sessionStorage.getItem["first"], second = JSON.parse[sessionStorage.getItem["second"]]; // [B] IT WORKS! // MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH // SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED console.log[first]; // Foo Bar console.log[second]; // ["Hello", "World"] // [EXTRA] CLEAR SESSION STORAGE // sessionStorage.removeItem["KEY"]; // sessionStorage.clear[]; }
01function get [] { // [A] GET FROM SESSION var first = sessionStorage.getItem["first"], second = JSON.parse[sessionStorage.getItem["second"]]; // [B] IT WORKS! // MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH // SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED console.log[first]; // Foo Bar console.log[second]; // ["Hello", "World"] // [EXTRA] CLEAR SESSION STORAGE // sessionStorage.removeItem["KEY"]; // sessionStorage.clear[]; }
02function get [] { // [A] GET FROM SESSION var first = sessionStorage.getItem["first"], second = JSON.parse[sessionStorage.getItem["second"]]; // [B] IT WORKS! // MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH // SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED console.log[first]; // Foo Bar console.log[second]; // ["Hello", "World"] // [EXTRA] CLEAR SESSION STORAGE // sessionStorage.removeItem["KEY"]; // sessionStorage.clear[]; }
Nhưng xin lưu ý rằng bộ nhớ phiên sẽ tự động bị xóa sau khi người dùng đóng tab/cửa sổ
P. S. Dữ liệu cũng sẽ không được chuyển khi người dùng mở tab/cửa sổ khác theo cách thủ công
PHƯƠNG PHÁP 2] LƯU TRỮ CỤC BỘ
2a-lưu trữ cục bộ. html
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
02b-lưu trữ cục bộ. html
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
4Trông quen quen? . Đúng, cùng một khu vực lưu trữ tạm thời cũ, nhưng bộ nhớ cục bộ là cố định – Mọi thứ được đặt trong bộ nhớ cục bộ sẽ ở lại cho đến khi bị xóa thủ công;
PHƯƠNG PHÁP 3] THAM SỐ URL
truy vấn 3a. html
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
5truy vấn 3b. html
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
6Bạn có thể đã nghe nói về biến
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
03, nối thêm chuỗi truy vấn
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
04 phía sau URL. Đúng, Javascript hoàn toàn có khả năng nhận chuỗi truy vấn và chúng tôi có thể sử dụng chuỗi đó để truyền dữ liệu
PHƯƠNG PHÁP 4] BẢO QUẢN BÁNH QUY
4a-cookie. html
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
94b-cookie. html
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
0Bạn cũng có thể đã nghe nói về cookie, một mã thông báo nhỏ để lưu giữ một số dữ liệu… Dù sao, đừng gây rối với cookie trừ khi thực sự cần thiết. Giữ cái này như một phương sách tuyệt vọng cuối cùng
PHƯƠNG PHÁP 5] CỬA SỔ MỚI
cửa sổ 5a. html
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
1cửa sổ 5b. html
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
2Khi tạo một
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
05 mới, chúng ta có thể “trực tiếp” chèn các biến vào cửa sổ mới. Đơn giản vậy thôi
BIT & LIÊN KẾT HỮU ÍCH
Đó là tất cả cho hướng dẫn này và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn
CẬP NHẬT CÁC QUY TRÌNH
Thời kỳ đồ đá của Internet đã qua lâu rồi. Thay vì tải lại và chuyển hướng các trang, chúng ta thực sự nên xem xét việc tạo ra một trải nghiệm “liền mạch” với các công nghệ hiện đại. Ví dụ: nếu chúng tôi muốn tạo một biểu mẫu kiểu trình hướng dẫn trong đó người dùng chọn một tùy chọn ở bước 1, sau đó chuyển nó sang bước 2 – Chúng tôi có thể sử dụng AJAX để điều khiển toàn bộ ứng dụng
6a-ajax. html
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
06b-ajax. html
function get [] {
// [A] GET FROM SESSION
var first = sessionStorage.getItem["first"],
second = JSON.parse[sessionStorage.getItem["second"]];
// [B] IT WORKS!
// MANUALLY OPENING 1B-SESSION.HTML WILL NOT WORK THOUGH
// SESSION DATA WILL PERISH ONCE TAB/WINDOW IS CLOSED
console.log[first]; // Foo Bar
console.log[second]; // ["Hello", "World"]
// [EXTRA] CLEAR SESSION STORAGE
// sessionStorage.removeItem["KEY"];
// sessionStorage.clear[];
}
1
LIÊN KẾT và THAM KHẢO
- Cửa sổ. lưu trữ phiên – MDN
- Cửa sổ. lưu trữ cục bộ – MDN
- Tham số tìm kiếm URL – MDN
- Tài liệu. cookie – MDN
- Chuyển các biến Javascript sang một trang khác – lage. chúng ta
- Hướng dẫn AJAX cho người mới bắt đầu – Code Boxx
VIDEO HƯỚNG DẪN
BẢNG CHEAT INFOGRAPHIC
Cảm ơn bạn đã đọc, và chúng tôi đã đi đến phần cuối của hướng dẫn này. Tôi hy vọng rằng nó đã giúp bạn với dự án của bạn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, xin vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc