ホームページ  >  記事  >  バックエンド開発  >  jsでphpメソッドを呼び出す方法

jsでphpメソッドを呼び出す方法

WBOY
WBOYオリジナル
2023-05-22 20:54:072551ブラウズ

JavaScript と PHP は 2 つの異なるプログラミング言語で、前者はブラウザーで実行され、後者はサーバー側で実行されます。 2 つの言語は異なる環境で実行されますが、特定の方法で相互作用できます。この記事ではJavaScriptでPHPのメソッドを呼び出す方法を紹介します。

1. AJAX を使用して PHP メソッドへの JavaScript 呼び出しを実装する

AJAX (Asynchronous JavaScript And XML) は JavaScript と XML を介して送信する技術で、ページ全体を更新せずに使用できます。 、サーバーと非同期通信します。この手法を使用して、JavaScript で PHP メソッドを呼び出すことができます。

実装は次のとおりです。

  1. まず、XMLHttpRequest オブジェクトを作成する必要があります
var xmlhttp = new XMLHttpRequest();
  1. 次に、使用するJavaScript関数 PHPサーバーにデータを送信します
function sendDataToPHP(data) { 
   xmlhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
         document.getElementById("result").innerHTML = this.responseText;
      }
   };
   xmlhttp.open("POST", "test.php", true);
   xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   xmlhttp.send(data);
}

この関数は、サーバーに送信するデータであるパラメータデータを受け取ります。関数内では、サーバーからデータが返されたときにデータを処理するコールバック関数が最初に作成されます。 readyState 属性の値が 4 に変化すると、サーバーの応答が完了したことを意味します。 HTTP ステータス コードが 200 の場合は、OK を意味します。次に、XMLHttpRequest オブジェクトの open() メソッドを通じて PHP サーバーと通信し、最後に send() メソッドを使用してデータをサーバーに送信します。

  1. PHP サーバーは、まず JavaScript によって送信されたデータを受信し、次に対応する関数を実行して結果を返す必要があります。
<?php
    function myFunction($param1, $param2) {
        //TODO
        return $result;
    }
    
    $request = file_get_contents('php://input');
    $data = json_decode($request);
    $result = call_user_func_array($data->functionName, $data->params);
    echo $result;
?>

このコード スニペットでは、JavaScript で呼び出す必要がある関数 myFunction が定義されており、call_user_func_array メソッドを使用して関数にデータを渡して実行します。最後に、関数の戻り値がブラウザに出力されます。

2. Node.js を使用して JavaScript で PHP メソッドを呼び出す

Node.js は、Chrome V8 エンジンに基づいた JavaScript 実行環境であり、次のことができる非常に強力なサーバーサイド フレームワークです。 JavaScript で PHP メソッドを呼び出すために使用されます。

実装は次のとおりです:

  1. まず、プロジェクトに PHP プラグインをインストールする必要があります
npm install php
  1. PHP 関数を呼び出すための JavaScript ファイル
var php = require('php');
var result = php.myFunction('param1', 'param2');
console.log(result);

このコード スニペットでは、require メソッドを使用して php モジュールを JavaScript 環境に導入し、php.myFunction メソッドを使用して PHP 関数を呼び出します。最後に、関数の戻り値をコンソールに出力します。

  1. PHP サーバーは、JavaScript で呼び出す必要がある関数をエクスポートする必要があります。これは、$GLOBAL オブジェクトを使用して実現できます。
<?php
    $GLOBAL['myFunction'] = function($param1, $param2) {
        //TODO
        return $result;
    };
?>

このコード スニペットでは、$GLOBAL オブジェクトにより、PHP 関数をグローバル関数として使用できるため、関数名を通じて JavaScript で PHP 関数を呼び出すことができます。

概要:

上記は JavaScript で PHP メソッドを呼び出す 2 つの方法ですが、AJAX モジュールと PHP モジュールは非常に便利です。上記の手法を使用すると、JavaScript で PHP 関数を簡単に呼び出して戻り値を取得できます。

以上がjsでphpメソッドを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。