Gọi hàm PHP từ JavaScript mà không cần AJAX

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

0

1

2

3

4

0

1

2

3

4

5

6

7

8

9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
2
1

1

2

3

4

5

6

7

8

9
3
0
3
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9

00

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

Đặt đoạn mã sau vào một tệp có tên quấn. php trong cùng thư mục

1

18
2

20
3

22

1

24

3

26

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

28
2
_______130
3

32

1

34

3

36

0

38

2

40

4

42

6

44

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 tới JavaScript được viết bên trong thẻ


46 bằng cách sử dụng

42

1

18
2
3

49

1

3

02

0

04

2

06

4

08

6

10

8

12
2
0

14
2
2

16
2
3
2
1
2
5

26
2
7
3
4
2
9

18

1

26

3

26

5

30

7

32

9

34
3
1

12

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

Tôi có thể gọi hàm PHP từ JavaScript không?

Bạn có thể gọi hàm PHP thông qua Javascript bằng cách chuyển giá trị , bạn cần đầu ra của hàm PHP dưới dạng chuỗi trong Javascript.

Làm cách nào để chuyển giá trị từ JavaScript sang PHP mà không cần ajax?

Tạo thẻ đầu vào ẩn trong HTML , sau đó đặt giá trị của nó dưới dạng chuỗi JSON bằng jquery. Tiếp theo, bất cứ khi nào bạn cần dữ liệu đó, chỉ cần gọi hàm PHP trả về giá trị của thẻ đầu vào. .
var jsdata = {
dữ liệu. "Bài kiểm tra"
var jsondata = $. toJson[jsdata];
$["#transferInput"]. giá trị [jsondata];

Làm cách nào để gọi tập lệnh PHP từ JavaScript?

Có hai cách gọi hàm PHP từ JavaScript tùy thuộc vào kiến ​​trúc dự án web của bạn. Bạn có thể gọi hàm PHP nội tuyến từ thẻ . Bạn có thể sử dụng phương thức JavaScript tìm nạp [] và gửi yêu cầu HTTP đến máy chủ PHP.

Làm cách nào để gọi hàm PHP trong JavaScript trên cùng một trang?

Bạn không thể gọi hàm php từ cùng một tệp vì phản hồi sẽ chứa tất cả nội dung trang [html/js] bên cạnh kết quả của hàm. Bạn phải đặt mã của chức năng này trong một tệp riêng. .
Gửi một tham số trên ajax của bạn và sử dụng sự tồn tại của nó để lặp lại một li mới, ngay trên đầu mã

Chủ Đề