Hướng dẫn can javascript call php function? - javascript có thể gọi hàm php không?

Công việc này hoàn hảo cho tôi:

Để gọi hàm PHP [với các tham số cũng vậy], bạn có thể, giống như nhiều người đã nói, gửi một tham số mở tệp PHP và từ đó kiểm tra giá trị của tham số để gọi hàm. Nhưng bạn cũng có thể làm nhiều người nói rằng điều đó là không thể: trực tiếp gọi chức năng PHP thích hợp mà không cần thêm mã vào tệp PHP.

Tôi tìm thấy một cách:

Điều này cho JavaScript:

function callPHP[expression, objs, afterHandler] {
        expression = expression.trim[];
        var si = expression.indexOf["["];
        if [si == -1]
            expression += "[]";
        else if [Object.keys[objs].length > 0] {
            var sfrom = expression.substring[si + 1];
            var se = sfrom.indexOf["]"];
            var result = sfrom.substring[0, se].trim[];
            if [result.length > 0] {
                var params = result.split[","];
                var theend = expression.substring[expression.length - sfrom.length + se];
                expression = expression.substring[0, si + 1];
                for [var i = 0; i < params.length; i++] {
                    var param = params[i].trim[];
                    if [param in objs] {
                        var value = objs[param];
                        if [typeof value == "string"]
                            value = "'" + value + "'";
                        if [typeof value != "undefined"]
                            expression += value + ",";
                    }
                }
                expression = expression.substring[0, expression.length - 1] + theend;
            }
        }
        var doc = document.location;
        var phpFile = "URL of your PHP file";
        var php =
            "$docl = str_replace['/', '\\\\', '" + doc + "']; $absUrl = str_replace[$docl, $_SERVER['DOCUMENT_ROOT'], str_replace['/', '\\\\', '" + phpFile + "']];" +
            "$fileName = basename[$absUrl];$folder = substr[$absUrl, 0, strlen[$absUrl] - strlen[$fileName]];" +
            "set_include_path[$folder];include $fileName;" + expression + ";";
        var url = doc + "/phpCompiler.php" + "?code=" + encodeURIComponent[php];
        $.ajax[{
            type: 'GET',
            url: url,
            complete: function[resp]{
                var response = resp.responseText;
                afterHandler[response];
            }
        }];
    }


Điều này đối với một tệp PHP không phải là tệp PHP của bạn, mà là một tệp khác, đường dẫn được viết trong biến


3 của hàm JS

4 và cần phải đánh giá mã PHP. Tệp này được gọi là 'phpcompiler.php' và nó nằm trong thư mục gốc của trang web của bạn:

3 variable of JS function

4 , and it's required to evaluate PHP code. This file is called 'phpCompiler.php' and it's in the root directory of your website:



Vì vậy, mã PHP của bạn vẫn bằng nhau ngoại trừ các giá trị trả về, sẽ được lặp lại:



Tôi khuyên bạn nên nhớ rằng cần phải có jQuery: Tải xuống từ Google CDN:
Download it from Google CDN:


hoặc từ Microsoft CDN: "Tôi thích Google! :]"


Tốt hơn là tải xuống tệp từ một trong hai CDN và đặt nó dưới dạng tệp cục bộ, vì vậy việc tải khởi động trang web của bạn nhanh hơn!

Sự lựa chọn là cho bạn!


Bây giờ bạn đã hoàn thành! Tôi chỉ cho bạn biết cách sử dụng hàm

4. Đây là JavaScript để gọi PHP:

4 function. This is the JavaScript to call PHP:

//Names of parameters are custom, they haven't to be equals of these of the PHP file.
//These fake names are required to assign value to the parameters in PHP
//using an hash table.
callPHP["add[num1, num2]", {
            'num1' : 1,
            'num2' : 2
        },
            function[output] {
                alert[output]; //This to display the output of the PHP file.
        }];

Có hai cách gọi chức năng 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 chức năng Php Inline từ thẻ
    
    
    6
  • Bạn có thể sử dụng phương thức JavaScript
    
    
    7 và gửi yêu cầu HTTP đến máy chủ PHP

Hướng dẫn này sẽ giúp bạn tìm hiểu cả hai cách một cách dễ dàng. Hãy bắt đầu với việc gọi chức năng PHP nội tuyến

Gọi chức năng PHP từ JavaScript Inline

Nếu bạn sử dụng các tệp PHP để hiển thị các trang web của mình, thì bạn có thể gọi chức năng PHP từ JavaScript bằng cách gọi chức năng PHP


8.

Giả sử bạn có tệp


9 với nội dung sau:


Sau đó, bạn viết nội dung HTML của mình ngay bên dưới chức năng như sau:



// Other HTML tags omitted for clarity

  

Bạn có thể bao gồm một thẻ


6 bên trong thẻ

1 gọi vào chức năng PHP như sau:


  
  
    const result =  ;
    document.getElementById["header"].innerHTML = result;
  

Khi bạn mở tệp


9 của mình từ trình duyệt, bạn sẽ thấy HTML được hiển thị như sau:


  8
  
    const result = 8;
    document.getElementById["header"].innerHTML = result;
  

Bất kỳ mã PHP nào bạn bao gồm bên trong trang HTML của bạn sẽ được xử lý ở phía máy chủ trước khi được phục vụ cho trình duyệt.

Khi bạn gọi chức năng Php Inline từ JavaScript như được hiển thị ở trên, bạn có thể sử dụng các giá trị động từ đầu vào của người dùng.

Nếu bạn muốn gọi chức năng PHP như một phản hồi cho hành động của người dùng, thì bạn cần gửi yêu cầu HTTP từ JavaScript đến tệp PHP. Hãy để học hỏi điều đó tiếp theo.

Gọi chức năng PHP từ JavaScript qua yêu cầu HTTP

Để gửi yêu cầu HTTP từ JavaScript đến máy chủ PHP, bạn cần thực hiện như sau:

  • Tách tệp PHP của bạn khỏi tệp HTML của bạn
  • Gọi chức năng PHP qua yêu cầu HTTP bằng phương thức JavaScript
    
    
    7

Đầu tiên, tách chức năng PHP của bạn trong một tệp khác. Hãy để Gọi cho tệp


4 và đặt nội dung sau bên trong nó:


0

Tiếp theo, tạo một tệp


5 trong cùng một thư mục nơi bạn đã tạo tệp

4 và đặt nội dung sau bên trong nó:


1

Phương thức


7 sẽ được thực thi mỗi lần nhấp vào phần tử

8. JavaScript sẽ gửi yêu cầu

9 đến máy chủ PHP và viết phản hồi bên trong phần tử

0.

Trong mã trên, tôi đã sử dụng URL đầy đủ của


4 của mình, được đặt tại

2. Bạn cần thay đổi địa chỉ thành vị trí tệp PHP thực tế của bạn.

Khi các tệp của bạn đã sẵn sàng, hãy mở tệp


5 từ trình duyệt. Vui lòng đảm bảo rằng bạn sẽ mở tệp HTML từ cùng một máy chủ phục vụ các tệp PHP của bạn để tránh các sự cố CORS.

Bạn có thể chạy một máy chủ PHP cục bộ bằng lệnh


4 và mở

5 từ trình duyệt để xem trang HTML của bạn.

Khi bạn nhấp vào nút, phương thức


7 sẽ được thực thi và JavaScript sẽ đặt phản hồi bên trong phần tử

7.

HTML kết quả sẽ như sau:


2

Bây giờ mã của bạn đang hoạt động, bạn có thể thêm các phần tử


8 vào trang HTML và gán các giá trị mà người dùng đặt trong các phần tử đó cho các biến

9 và

0.Hàm PHP sẽ có thể thêm các giá trị động một cách chính xác

Và đó là hai cách bạn có thể gọi chức năng PHP từ JavaScript.Thường xuyên hơn, bạn muốn tách các tệp PHP khỏi các tệp JavaScript và gọi chức năng PHP bằng các yêu cầu HTTP.

Mẫu tương tự cũng hoạt động khi bạn đang phát triển ứng dụng web bằng cách sử dụng khung PHP hiện đại như Laravel và các thư viện JavaScript hiện đại như React và Vue.

Bạn có thể sử dụng phương thức


7 và gửi yêu cầu

9 đến đúng tuyến API Laravel mà bạn đã tạo và gửi đúng tham số.

Bài Viết Liên Quan

Chủ Đề