Hướng dẫn can you execute php in javascript? - bạn có thể thực thi php trong javascript không?

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ẻ

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

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 fetch()

Đầ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

php
function add($x, $y){
  return $x + $x;
}
?>

// Other HTML tags omitted for clarity

  

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

php
$x = $_POST['x'];
$y = $_POST['y'];

echo $x + $y;
?>

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

php
function add($x, $y){
  return $x + $x;
}
?>

// Other HTML tags omitted for clarity

  

6 trong cùng một thư mục trong đó bạn đã tạo tệp
php
function add($x, $y){
  return $x + $x;
}
?>

// Other HTML tags omitted for clarity

  

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

<body>
  <button id="add">Add 5 + 3button>
  <div id="result">div>
  <script>
    let btn = document.getElementById("add");
    let x = 5;
    let y = 3;

    btn.addEventListener("click", function(){
      fetch("http://localhost:8000/add.php", {
        method: "POST",
        headers: {
          "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
        },
        body: `x=${x}&y=${y}`,
      })
      .then((response) => response.text())
      .then((res) => (document.getElementById("result").innerHTML = res));
    })
  script>
body>

Phương thức fetch() sẽ được thực thi mỗi lần nhấp vào phần tử

php
function add($x, $y){
  return $x + $x;
}
?>

// Other HTML tags omitted for clarity

  

9. JavaScript sẽ gửi yêu cầu
<body>
  <h2 id="header">h2>
  <script>
    const result = php echo add(5, 3)?> ;
    document.getElementById("header").innerHTML = result;
  script>
body>
0 đến máy chủ PHP và viết phản hồi bên trong phần tử
<body>
  <h2 id="header">h2>
  <script>
    const result = php echo add(5, 3)?> ;
    document.getElementById("header").innerHTML = result;
  script>
body>
1.

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

php
function add($x, $y){
  return $x + $x;
}
?>

// Other HTML tags omitted for clarity

  

5 của mình, được đặt tại
<body>
  <h2 id="header">h2>
  <script>
    const result = php echo add(5, 3)?> ;
    document.getElementById("header").innerHTML = result;
  script>
body>
3. 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

php
function add($x, $y){
  return $x + $x;
}
?>

// Other HTML tags omitted for clarity

  

6 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

<body>
  <h2 id="header">h2>
  <script>
    const result = php echo add(5, 3)?> ;
    document.getElementById("header").innerHTML = result;
  script>
body>
5 và mở
<body>
  <h2 id="header">h2>
  <script>
    const result = php echo add(5, 3)?> ;
    document.getElementById("header").innerHTML = result;
  script>
body>
6 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 fetch() sẽ được thực thi và JavaScript sẽ đặt phản hồi bên trong phần tử

<body>
  <h2 id="header">h2>
  <script>
    const result = php echo add(5, 3)?> ;
    document.getElementById("header").innerHTML = result;
  script>
body>
8.

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

<body>
  <button id="add">Add 5 + 3button>
  <div id="result">8div>
  <script>
    // omitted for clarity...
  script>
body>

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

<body>
  <h2 id="header">h2>
  <script>
    const result = php echo add(5, 3)?> ;
    document.getElementById("header").innerHTML = result;
  script>
body>
9 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
<body>
  <h2 id="header">8h2>
  <script>
    const result = 8;
    document.getElementById("header").innerHTML = result;
  script>
body>
0 và
<body>
  <h2 id="header">8h2>
  <script>
    const result = 8;
    document.getElementById("header").innerHTML = result;
  script>
body>
1. 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 fetch() và gửi yêu cầu

<body>
  <h2 id="header">h2>
  <script>
    const result = php echo add(5, 3)?> ;
    document.getElementById("header").innerHTML = result;
  script>
body>
0 đến đúng tuyến API Laravel mà bạn đã tạo và gửi đúng tham số.