Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách lưu trữ giá trị biến JavaScript trong giá trị biến PHP. Vì một chạy ở phía máy chủ và một chạy ở phía máy khách. Hy vọng hướng dẫn này sẽ hữu ích cho bạn và tôi sẽ cố gắng làm cho hướng dẫn này dễ học
Biến JavaScript thành biến PHP
Giả sử chúng tôi có JavaScript và PHP trực tiếp trong cùng một tài liệu, thì PHP sẽ được thực thi trước và chúng tôi biết nó được thực thi ở phía máy chủ và JavaScript sẽ được thực thi thứ hai và chúng tôi biết rằng nó sẽ được thực thi ở phía trình duyệt. Bằng cách này, cả hai sẽ không bao giờ tương tác
Hãy hiểu với một ví dụ
Giả sử tôi khai báo một biến JavaScript và tôi không thể gán giá trị đó cho PHP. Điều này có thể được giải quyết trực tiếp bằng cách sử dụng Ajax. Nhưng vấn đề là tôi không biết Ajax
var myjavascriptVar=123;
Mã số
//USING COOKIE document.cookie = "myjavascriptVar = " + myjavascriptVar
Sử dụng Ajax
Cách lý tưởng nhất để chuyển giá trị biến JavaScript trong biến PHP là chuyển biến JS cho lệnh gọi AJAX. Nhưng để làm điều này, chúng ta cần tải lại trang có biến trong tham số $_GET và truy cập biến trong PHP bằng cách sử dụng $_GET[‘a’]
Trước khi chúng tôi có câu trả lời, xin lưu ý rằng không thể chuyển trực tiếp các biến từ JavaScript sang PHP
Điều này là do mã PHP được thực thi trên máy chủ, trong khi mã JavaScript được thực thi trong trình duyệt
Vào thời điểm mã JavaScript được trình duyệt thực thi, mã PHP đã chạy xong trên máy chủ
Tuy nhiên, có nhiều cách để khắc phục hạn chế này và chuyển dữ liệu từ JavaScript sang PHP
- Sử dụng AJAX để truyền dữ liệu từ JavaScript sang PHP
- Sử dụng API tìm nạp để gửi yêu cầu HTTP
- Sử dụng Biểu mẫu để Truyền dữ liệu từ JavaScript sang PHP
- Phần kết luận
Bài viết này sẽ giúp bạn tìm hiểu các giải pháp trên
Sử dụng AJAX để truyền dữ liệu từ JavaScript sang PHP
AJAX [JavaScript và XML không đồng bộ] là kỹ thuật gửi và nhận dữ liệu từ máy chủ không đồng bộ mà không cần phải làm mới trang
Điều này cho phép cập nhật một phần của trang web mà không cần tải lại toàn bộ trang. Nó thường được sử dụng cho những thứ như xác thực biểu mẫu và cập nhật nội dung động
Trong JavaScript, AJAX được thực hiện bằng cách sử dụng đối tượng
function sendData[] {
var data = {
name: "Nathan",
email: "nathan@example.com",
};
var xhr = new XMLHttpRequest[];
//👇 set the PHP page you want to send data to
xhr.open["POST", "index.php", true];
xhr.setRequestHeader["Content-Type", "application/json"];
//👇 what to do when you receive a response
xhr.onreadystatechange = function [] {
if [xhr.readyState == XMLHttpRequest.DONE] {
alert[xhr.responseText];
}
};
//👇 send the data
xhr.send[JSON.stringify[data]];
}
9Đoạn mã dưới đây cho biết cách sử dụng đối tượng
function sendData[] {
var data = {
name: "Nathan",
email: "nathan@example.com",
};
var xhr = new XMLHttpRequest[];
//👇 set the PHP page you want to send data to
xhr.open["POST", "index.php", true];
xhr.setRequestHeader["Content-Type", "application/json"];
//👇 what to do when you receive a response
xhr.onreadystatechange = function [] {
if [xhr.readyState == XMLHttpRequest.DONE] {
alert[xhr.responseText];
}
};
//👇 send the data
xhr.send[JSON.stringify[data]];
}
9 để gửi dữ liệu tới tập lệnh PHP của bạnfunction sendData[] {
var data = {
name: "Nathan",
email: "nathan@example.com",
};
var xhr = new XMLHttpRequest[];
//👇 set the PHP page you want to send data to
xhr.open["POST", "index.php", true];
xhr.setRequestHeader["Content-Type", "application/json"];
//👇 what to do when you receive a response
xhr.onreadystatechange = function [] {
if [xhr.readyState == XMLHttpRequest.DONE] {
alert[xhr.responseText];
}
};
//👇 send the data
xhr.send[JSON.stringify[data]];
}
Trong ví dụ này, chúng tôi đã xác định hàm
4Đoạn mã trên thực hiện tương tự như đoạn mã
function sendData[] {
var data = {
name: "Nathan",
email: "nathan@example.com",
};
var xhr = new XMLHttpRequest[];
//👇 set the PHP page you want to send data to
xhr.open["POST", "index.php", true];
xhr.setRequestHeader["Content-Type", "application/json"];
//👇 what to do when you receive a response
xhr.onreadystatechange = function [] {
if [xhr.readyState == XMLHttpRequest.DONE] {
alert[xhr.responseText];
}
};
//👇 send the data
xhr.send[JSON.stringify[data]];
}
9API
Send Data
0 là một cách hiện đại và linh hoạt hơn để gửi dữ liệu từ JavaScript sang PHP. Nó có thêm lợi thế là có thể xử lý các yêu cầu không đồng bộTuy nhiên, nó không được hỗ trợ bởi tất cả các trình duyệt, vì vậy bạn có thể cần sử dụng polyfill nếu muốn hỗ trợ các trình duyệt cũ hơn
Sử dụng Biểu mẫu để Truyền dữ liệu từ JavaScript sang PHP
Một cách khác để chuyển dữ liệu từ JavaScript sang PHP là sử dụng biểu mẫu HTML
Khi người dùng gửi biểu mẫu, dữ liệu sẽ được gửi đến máy chủ dưới dạng yêu cầu HTTP. Dữ liệu này có thể được truy cập bởi tập lệnh PHP xử lý việc gửi biểu mẫu
Để sử dụng biểu mẫu để truyền dữ liệu từ JavaScript sang PHP, bạn cần tạo biểu mẫu trên trang web của mình và thêm nút gửi
Sau đó, bạn có thể sử dụng JavaScript để điền vào các trường biểu mẫu với dữ liệu bạn muốn chuyển tới PHP và kích hoạt gửi biểu mẫu khi người dùng nhấp vào nút gửi
Hãy xem xét ví dụ dưới đây
//USING COOKIE document.cookie = "myjavascriptVar = " + myjavascriptVar6
Trong ví dụ này, chúng tôi đã tạo một biểu mẫu HTML với hai trường
Send Data
5 ẩn và một nút gửiThuộc tính
Send Data
6 của biểu mẫu chỉ định tập lệnh PHP sẽ xử lý việc gửi biểu mẫu và thuộc tính Send Data
7 chỉ định rằng dữ liệu sẽ được gửi bằng yêu cầu HTTP
40 để nhận tham chiếu đến các trường biểu mẫu và nút gửiCuối cùng, chúng tôi sử dụng phương pháp
//USING COOKIE document.cookie = "myjavascriptVar = " + myjavascriptVar41 để kích hoạt việc gửi biểu mẫu
Khi người dùng nhấp vào nút gửi, biểu mẫu sẽ được gửi tới tệp
43, giống như chúng ta đã làm trong ví dụ trướcLưu ý rằng vì việc gửi biểu mẫu sẽ làm mới trang hiện tại, bạn có thể không thấy phản hồi từ PHP
Giải pháp này chỉ được khuyến nghị khi bạn cần gửi dữ liệu đến cùng một trang
Sau đó, bạn có thể viết mã sẽ xuất ra phản hồi như sau
function sendData[] {
var data = {
name: "Nathan",
email: "nathan@example.com",
};
var xhr = new XMLHttpRequest[];
//👇 set the PHP page you want to send data to
xhr.open["POST", "index.php", true];
xhr.setRequestHeader["Content-Type", "application/json"];
//👇 what to do when you receive a response
xhr.onreadystatechange = function [] {
if [xhr.readyState == XMLHttpRequest.DONE] {
alert[xhr.responseText];
}
};
//👇 send the data
xhr.send[JSON.stringify[data]];
}
6Thuộc tính
Send Data
6 của biểu mẫu trên sẽ gửi biểu mẫu đến trang hiện tạiSử dụng biểu mẫu yêu cầu bạn viết phần tử HTML trên trang của mình, sau đó sử dụng JavaScript để thao tác biểu mẫu
Bạn có thể gửi biểu mẫu bằng JavaScript hoặc thực hiện thủ công, nhưng đầu ra sẽ không được hiển thị trên trang nếu bạn đang gửi dữ liệu đến một trang khác
Đó là lý do tại sao giải pháp này chỉ hiệu quả khi bạn gửi dữ liệu đến trang hiện tại
Phần kết luận
Để chuyển các biến hoặc dữ liệu từ JavaScript sang PHP, bạn có thể sử dụng triển khai AJAX trong JavaScript [là
function sendData[] {
var data = {
name: "Nathan",
email: "nathan@example.com",
};
var xhr = new XMLHttpRequest[];
//👇 set the PHP page you want to send data to
xhr.open["POST", "index.php", true];
xhr.setRequestHeader["Content-Type", "application/json"];
//👇 what to do when you receive a response
xhr.onreadystatechange = function [] {
if [xhr.readyState == XMLHttpRequest.DONE] {
alert[xhr.responseText];
}
};
//👇 send the data
xhr.send[JSON.stringify[data]];
}
9] hoặc API Send Data
0