Hướng dẫn pass data from page to page javascript - chuyển dữ liệu từ trang này sang trang khác javascript

Có hai cách để vượt qua các biến giữa các trang web. Phương pháp đầu tiên là sử dụng sessionStorage hoặc localStorage. Phương pháp thứ hai là sử dụng chuỗi truy vấn & nbsp; với URL.

sessionStorage hoặc localStorage:

// This goes in the first web page:
// favoriteMovie is the sessionStorage variable name
// Shrek is the variable string value
sessionStorage.setItem("favoriteMovie", "Shrek");
 
// This goes in the second web page:
// Retrieve the sessionStorage variable
var favoriteMovie = sessionStorage.getItem('favoriteMovie');

Ví dụ 1:

JavaScript trong trang 1:

var favoritemovie = "Shrek";
sessionStorage.setItem("favoriteMovie", favoritemovie);

JavaScript trong trang 2:

var favoritemovie = sessionStorage.getItem("favoriteMovie");
console.log(favoritemovie);

In kết quả này trong bảng điều khiển: Shrek
Shrek

Ví dụ 2:

Bạn có thể chuyển một mảng từ trang này sang trang khác bằng cách chuyển đổi mảng thành một chuỗi trước khi lưu sang một biến trong sessionStorage.

Mảng JavaScript trong trang 1:

jsarray = ["cat", "dog", "tiger", "wolf"];
sessionStorage.setItem("jsArray", JSON.stringify(jsarray));

// JSON.stringify(jsArray) converts the jsArray into a string which can be stored in sessionStorage

Mảng JavaScript trong trang 2:

jsarray = JSON.parse(sessionStorage.getItem("jsArray"));

// the javascript array jsarray is now in Page 2 as ['cat', 'dog', 'tiger', 'wolf']

Phương pháp 2

Tất nhiên có một cách khác để làm điều đó ...

Chuyển một chuỗi dưới dạng tham số.

Example:

Go to filename

Khi nhấp vào FileName được nhấp, fileName.html được tải với chuỗi truy vấn "? Data1 | data2 | data3" được gắn vào tên tệp trong thanh địa chỉ. Để lấy chuỗi truy vấn thành các biến, sử dụng: var queryString & nbsp; = location.search.subString (1);?data1|data2|data3" appended to the filename in the address bar. To get the query string into variables,
use: var queryString = location.search.substring(1);

Biến & nbsp; queryString & nbsp; hiện có giá trị & nbsp; "data1 | data2 | data3".

Để chia chúng thành các biến riêng lẻ, hãy sử dụng Split:

var a = queryString.split ("|"); // tạo ra một mảng // which creates an array

Sau đó lấy các giá trị ra khỏi mảng và đặt chúng thành các biến:

var value1 = a [0]; var value2 = a [1]; var value3 = a [2];a[0];
var value2 = a[1];
var value3 = a[2];

Bây giờ: value1 == "data1", value2 == "data2", value3 == "data3"
value1 == "data1", value2 == "data2", value3 == "data3"

Chào mừng bạn đến với một hướng dẫn về cách vượt qua các biến giữa các trang trong JavaScript. Cần truyền một số dữ liệu giữa các trang khác nhau?

Một cách dễ dàng để vượt qua các biến giữa các trang là sử dụng chuỗi truy vấn:

  • Trên trang đầu tiên:
    • var favoritemovie = "Shrek";
      sessionStorage.setItem("favoriteMovie", favoritemovie);
      
      8
    • var favoritemovie = "Shrek";
      sessionStorage.setItem("favoriteMovie", favoritemovie);
      
      9
    • var favoritemovie = sessionStorage.getItem("favoriteMovie");
      console.log(favoritemovie);
      
      0
  • Trên trang thứ hai:
    • var favoritemovie = sessionStorage.getItem("favoriteMovie");
      console.log(favoritemovie);
      
      1
    • var favoritemovie = sessionStorage.getItem("favoriteMovie");
      console.log(favoritemovie);
      
      2

Nhưng có nhiều phương pháp mà chúng ta có thể sử dụng. Hãy để chúng tôi đi qua một số ví dụ trong hướng dẫn này, và cách tốt hơn để đối phó với mọi thứ - đọc tiếp!

Tôi đã bao gồm một tệp zip với tất cả các mã nguồn ví dụ khi bắt đầu hướng dẫn này, vì vậy bạn không phải sao chép mọi thứ, hoặc nếu bạn chỉ muốn đi thẳng vào.

Slide nhanh

Hướng dẫn pass data from page to page javascript - chuyển dữ liệu từ trang này sang trang khác javascript

MỤC LỤC

Tải xuống & ghi chú

Hướng dẫn pass data from page to page javascript - chuyển dữ liệu từ trang này sang trang khác javascript

Thứ nhất, đây là liên kết tải xuống đến 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
    var favoritemovie = sessionStorage.getItem("favoriteMovie");
    console.log(favoritemovie);
    
    3. Thay vào đó, sử dụng một máy chủ web thích hợp với
    var favoritemovie = sessionStorage.getItem("favoriteMovie");
    console.log(favoritemovie);
    
    4.

Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với toàn bộ thế giới, nếu bạn cần câu trả lời khẩn cấp, vui lòng kiểm tra danh sách các trang web của tôi để nhận trợ giúp lập trình.

Mã hóa ví dụ Tải xuống

Nhấn 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 đó hoặc sử dụng nó trong dự án của riêng bạn.

Được rồi, bây giờ chúng ta hãy đi vào các cách để vượt qua các biến giữa các trang trong JavaScript.

Phương pháp 1) Lưu trữ phiên

1a-session.html



1b-session.html



Đúng, không cần bất kỳ mánh lới quảng cáo. Có một khu vực lưu trữ hộp cát Sandbox tạm thời trong JavaScript có tên là Storage Storage. Rất dễ sử dụng, chỉ có 4 chức năng để biết:

  • var favoritemovie = sessionStorage.getItem("favoriteMovie");
    console.log(favoritemovie);
    
    5
  • var favoritemovie = sessionStorage.getItem("favoriteMovie");
    console.log(favoritemovie);
    
    6
  • var favoritemovie = sessionStorage.getItem("favoriteMovie");
    console.log(favoritemovie);
    
    7
  • var favoritemovie = sessionStorage.getItem("favoriteMovie");
    console.log(favoritemovie);
    
    8

Nhưng xin lưu ý rằng bộ lưu trữ phiên sẽ tự động bị xóa khi người dùng đóng tab/cửa sổ.

P.S. Dữ liệu cũng sẽ không được truyền khi người dùng mở thủ công tab/cửa sổ khác.

Phương pháp 2) Lưu trữ cục bộ

2a-local-storage.html



2b-local-storage.html



Trông quen thuộc? Bởi vì lưu trữ cục bộ là anh em họ lưu trữ phiên. Đúng, cùng một khu vực lưu trữ tạm thời cũ, nhưng lưu trữ cục bộ vẫn tồn tại - bất cứ thứ gì được đặt trong kho lưu trữ cục bộ sẽ ở lại cho đến khi bị xóa thủ công; Đúng, chúng tôi vẫn có thể lấy dữ liệu từ bộ lưu trữ cục bộ ngay cả sau khi cửa sổ được đóng và mở lại sau đó.

Phương pháp 3) Tham số URL

3a-query.html

var favoritemovie = "Shrek";
sessionStorage.setItem("favoriteMovie", favoritemovie);
0

3b-query.html

var favoritemovie = "Shrek";
sessionStorage.setItem("favoriteMovie", favoritemovie);
1

Bạn có thể đã nghe nói về các biến

var favoritemovie = sessionStorage.getItem("favoriteMovie");
console.log(favoritemovie);
9, nối thêm chuỗi truy vấn
jsarray = ["cat", "dog", "tiger", "wolf"];
sessionStorage.setItem("jsArray", JSON.stringify(jsarray));

// JSON.stringify(jsArray) converts the jsArray into a string which can be stored in sessionStorage
0 phía sau URL. Đúng, JavaScript hoàn toàn có khả năng nhận chuỗi truy vấn và chúng ta có thể sử dụng nó để truyền dữ liệu.

4a-cookie.html

var favoritemovie = "Shrek";
sessionStorage.setItem("favoriteMovie", favoritemovie);
2

4b-cookie.html

var favoritemovie = "Shrek";
sessionStorage.setItem("favoriteMovie", favoritemovie);
3

Bạn cũng có thể đã nghe nói về cookie, một mã thông báo nhỏ để giữ một số dữ liệu, dù sao đi nữa, chỉ cần khô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 khu nghỉ mát tuyệt vọng cuối cùng.

Phương pháp 5) Cửa sổ mới

5a-window.html

var favoritemovie = "Shrek";
sessionStorage.setItem("favoriteMovie", favoritemovie);
4

5b-window.html

var favoritemovie = "Shrek";
sessionStorage.setItem("favoriteMovie", favoritemovie);
5

Khi chúng tôi tạo một

jsarray = ["cat", "dog", "tiger", "wolf"];
sessionStorage.setItem("jsArray", JSON.stringify(jsarray));

// JSON.stringify(jsArray) converts the jsArray into a string which can be stored in sessionStorage
1 mới, chúng tôi 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.

Cập nhật các quy trình!

Thời đại đồ đá của Internet là quá khứ dà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 trên mạng với các công nghệ hiện đại. Ví dụ: nếu chúng ta muốn tạo biểu mẫu kiểu phù thủy trong đó người dùng chọn một tùy chọn trong bước 1, thì hãy chuyển nó sang bước 2-chúng ta có thể sử dụng AJAX để lái toàn bộ ứng dụng.

6a-ajax.html

var favoritemovie = "Shrek";
sessionStorage.setItem("favoriteMovie", favoritemovie);
6

6b-ajax.html

var favoritemovie = "Shrek";
sessionStorage.setItem("favoriteMovie", favoritemovie);
7

Liên kết & Tài liệu tham khảo

  • Window.SessionStorage - MDN
  • Window.LocalStorage - MDN
  • Thông số tìm kiếm URL - MDN
  • Document.Cookie - Mdn
  • Chuyển các biến JavaScript sang trang khác - Lage.us
  • Hướng dẫn Ajax của người mới bắt đầu - mã Boxx

Video hướng dẫn

Bảng gian lận infographic

Hướng dẫn pass data from page to page javascript - chuyển dữ liệu từ trang này sang trang khác javascript
Cách truyền các biến giữa các trang trong JavaScript (bấm để phóng to)

KẾT THÚC

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến cuối 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!

Làm cách nào để chuyển giá trị từ trang này sang trang khác trong JavaScript?

Bằng cách nhấn nút, tôi muốn JavaScript lưu giá trị của hộp văn bản trong biến toàn cầu (?) Và Nhảy đến trang 2 ...
Bạn có thể sử dụng bộ định tuyến spa như sammyjs, hoặc angularjs và ui-router, vì vậy các trang của bạn là trạng thái ..
Sử dụng sessionStorage để lưu trữ trạng thái của bạn ..
Lưu trữ các giá trị trên URL băm ..

Làm cách nào để chuyển một biến từ trang này sang trang khác?

Nơi thông tin sẽ được lưu trữ vào các thư mục phiên ...
Mã 1: Bắt đầu máy chủ Localhost của bạn như Apache, v.v. ....
Đầu ra: Nó sẽ mở biểu mẫu của bạn như thế này, thông tin được hỏi sẽ được chuyển cho trang PHP được liên kết với biểu mẫu (hành động = hình thức2. ....
Mã 2: Lặp lại quá trình lưu tệp như đã giải thích ở trên ..

Làm cách nào để di chuyển dữ liệu từ trang này sang trang khác trong HTML?

Tùy chọn tốt nhất là sử dụng tập lệnh được đặt thành mô -đun và sau đó xuất & nhập dữ liệu qua 2 tệp JS sang tệp HTML ...
Cookie phiên ..
HTML5 LocalStorage ..
Đăng biến trong URL và truy xuất chúng trong tiếp theo.HTML qua đối tượng cửa sổ ..

Làm cách nào để di chuyển một chuỗi từ trang HTML này sang trang khác?

Những gì bạn cần làm là biến đối tượng của bạn thành chuỗi JSON và lưu nó như thế vào LocalStorage.Và sau đó khi bạn muốn sử dụng nó trên một số trang khác, bạn có thể chuyển đổi nó thành đối tượng thông thường.turn your object into JSON string and save it like that to localStorage. And then when you want to use it on some other page you can transform it back to regular object.