PHP đi kèm với nhiều hàm tích hợp hơn để hoạt động với chuỗi, mảng và các loại dữ liệu khác so với JavaScript. Do đó, việc nhiều người cảm thấy thôi thúc gọi các hàm PHP từ JavaScript là điều tự nhiên. Tuy nhiên, như bạn có thể đoán hoặc phát hiện ra, điều này không hoạt động như mong đợi
Có thể có nhiều trường hợp khác mà bạn có thể muốn chạy một số mã PHP bên trong JavaScript—ví dụ: để lưu một số dữ liệu trên máy chủ của bạn. Chỉ cần đặt mã PHP bên trong JavaScript cũng sẽ không hoạt động trong trường hợp này
Lý do bạn không thể đơn giản gọi một hàm PHP từ JavaScript là do thứ tự các ngôn ngữ này được chạy. PHP là ngôn ngữ phía máy chủ và JavaScript chủ yếu là ngôn ngữ phía máy khách
Bất cứ khi nào bạn muốn truy cập một trang, trình duyệt sẽ gửi yêu cầu đến máy chủ, sau đó máy chủ sẽ xử lý yêu cầu và tạo một số đầu ra bằng cách chạy mã PHP. Sau đó, trang web đầu ra hoặc được tạo sẽ được gửi lại cho bạn. Trình duyệt thường mong đợi trang web bao gồm HTML, CSS và JavaScript. Bất kỳ PHP nào mà bạn có thể đã đặt hoặc lặp lại bên trong JavaScript đều đã chạy hoặc hoàn toàn không chạy khi trang web tải trong trình duyệt
Tất cả hy vọng không bị mất, mặc dù. Trong hướng dẫn này, tôi sẽ giải thích cách bạn có thể gọi các hàm PHP từ JavaScript và các hàm JavaScript từ PHP
Gọi một hàm PHP từ JavaScript
Chúng ta có thể sử dụng AJAX để gọi một hàm PHP trên dữ liệu được tạo bên trong trình duyệt. AJAX được rất nhiều trang web sử dụng để cập nhật các phần của trang web mà không cần tải lại toàn bộ trang. Nó có thể cải thiện đáng kể trải nghiệm người dùng khi được thực hiện đúng cách
Hãy nhớ rằng mã PHP vẫn sẽ chạy trên chính máy chủ. Chúng tôi sẽ chỉ cung cấp cho nó dữ liệu từ trong tập lệnh của chúng tôi
Sử dụng jQuery AJAX để chạy mã PHP
Nếu bạn đang sử dụng jQuery trên trang web của mình, việc gọi bất kỳ tệp PHP nào có mã mà bạn muốn chạy trở nên vô cùng dễ dàng
Bạn có thể truyền một hoặc hai tham số cho hàm
37. Khi hai tham số được truyền, tham số đầu tiên sẽ là URL của trang web mà trình duyệt sẽ gửi yêu cầu của bạn. Khi bạn chỉ chuyển một tham số cho
37, URL sẽ được chỉ định trong cấu hình
Tham số thứ hai chứa một loạt các tùy chọn cấu hình khác nhau để chỉ định dữ liệu bạn định xử lý và phải làm gì trong trường hợp thành công hay thất bại, v.v. Các tùy chọn cấu hình được chuyển ở định dạng JSON
Bạn có thể sử dụng tham số
39 để chỉ định phương thức HTTP sẽ được sử dụng để thực hiện yêu cầu. Chúng tôi sẽ đặt nó thành
40 vì chúng tôi cũng sẽ gửi dữ liệu đến máy chủ
Bây giờ, hãy xem một ví dụ về yêu cầu AJAX cơ bản nơi chúng ta sẽ truyền dữ liệu vào tệp PHP và gọi hàm PHP
41 trong tệp đó. Đây là trang web hoàn chỉnh của chúng tôi
1
2
3
4
5
PHP Function in JavaScript Demo
0
1
2
3
4
5
6
7
8
9
20
21
22
23
24
25
26
27
28
29
21
1
2
3
4
5
6
7
8
9
30
31
32
33
34
35
36
37
38
39
0
1
2
3
4
5
6
7________10_
Đặt đoạn mã sau vào một tệp có tên quấn. php trong cùng thư mục
1
48_______7_______
0_______9_______
2
412_______4
5
6
Hãy nhớ rằng bạn phải
42 dữ liệu mà bạn muốn gửi lại cho trình duyệt. Trang web của bạn sẽ giống như hình bên dưới nếu mọi thứ suôn sẻ
Sử dụng API tìm nạp để chạy mã PHP
Bạn cũng có thể sử dụng Fetch API để chạy mã PHP trên dữ liệu được thu thập bên trong trình duyệt bằng cách gửi yêu cầu POST tới máy chủ. Trong ví dụ trước, chúng ta có thể thay thế mã AJAX bằng đoạn mã JavaScript sau để có kết quả tương tự
1
8_______7_______
50_______9__________
52
413_______4
513_______6_______0_______0
58
2
PHP Function in JavaScript Demo0
4
PHP Function in JavaScript Demo2
6
PHP Function in JavaScript Demo4
Giống như trong ví dụ AJAX, chúng tôi chỉ định URL và cung cấp thông tin tiêu đề bổ sung mà chúng tôi sẽ gửi dữ liệu của mình ở dạng được mã hóa URL. Điều này cho phép chúng tôi sử dụng
43 ở phía máy chủ để đọc dữ liệu
Gọi một hàm JavaScript từ PHP
Như bạn đã biết, PHP sẽ chạy trước JavaScript khi bạn yêu cầu một trang web từ một số máy chủ. Chúng tôi cũng có thể xuất bất cứ thứ gì chúng tôi muốn hiển thị trên trang web bằng cách sử dụng
42. Có thể sử dụng cùng một
42 để xuất JavaScript sẽ chạy trong trình duyệt của khách hàng
Dưới đây là một số mã ví dụ sẽ kiểm tra một chuỗi các chuỗi để tìm chỉ mục của palindrome cuối cùng. Chỉ mục này được lưu trữ trong một biến PHP, sau đó được chuyển đến JavaScript được viết bên trong thẻ
46 bằng cách sử dụng
42
1
48
2
3
PHP Function in JavaScript Demo9
4
5
02
0
04
2
06
4
08
6
10
8
12
20
14
22
16
23
21
25
6
27
34
29
48
1
26
3
6
5
30
7
32
9
34
31
42
Ví dụ trên cho thấy cách bạn có thể chuyển dữ liệu từ PHP sang JavaScript bằng cách lặp lại nó. Chỉ cần đảm bảo rằng mã bạn lặp lại là JavaScript hợp lệ
Phần kết luận
Chúng ta đều biết rằng PHP chạy trên máy chủ và JavaScript thường chạy trên trình duyệt. Vì cả hai đều thực thi vào những thời điểm khác nhau, bạn không thể đơn giản gọi hàm từ ngôn ngữ này sang ngôn ngữ khác và mong đợi mã hoạt động. Tuy nhiên, có nhiều cách để giải quyết vấn đề đó, giúp trao đổi thông tin giữa PHP và JavaScript
Tóm lại, bạn có thể sử dụng AJAX khi muốn gọi một hàm PHP từ JavaScript hoặc chạy mã PHP trên một số dữ liệu được tạo bên trong trình duyệt. Bạn có thể sử dụng tiếng vang trong PHP để xuất mã JavaScript sẽ chạy sau trong trình duyệt của khách hàng. Nếu bạn có bất kỳ câu hỏi nào về bài viết, vui lòng cho tôi biết trong phần bình luận
Học PHP với một khóa học trực tuyến miễn phí
Nếu bạn muốn học PHP, hãy xem khóa học trực tuyến miễn phí của chúng tôi về các nguyên tắc cơ bản của PHP
Trong khóa học này, bạn sẽ học các nguyên tắc cơ bản của lập trình PHP. Bạn sẽ bắt đầu với những kiến thức cơ bản, học cách PHP hoạt động và viết các hàm và vòng lặp PHP đơn giản. Sau đó, bạn sẽ xây dựng các lớp mã hóa để lập trình hướng đối tượng đơn giản [OOP]. Đồng thời, bạn sẽ học tất cả các kỹ năng quan trọng nhất để viết ứng dụng cho web. bạn sẽ có cơ hội thực hành phản hồi các yêu cầu GET và POST, phân tích cú pháp JSON, xác thực người dùng và sử dụng cơ sở dữ liệu MySQL