JavaScript と PHP は 2 つの異なるプログラミング言語で、前者はブラウザーで実行され、後者はサーバー側で実行されます。 2 つの言語は異なる環境で実行されますが、特定の方法で相互作用できます。この記事ではJavaScriptでPHPのメソッドを呼び出す方法を紹介します。
1. AJAX を使用して PHP メソッドへの JavaScript 呼び出しを実装する
AJAX (Asynchronous JavaScript And XML) は JavaScript と XML を介して送信する技術で、ページ全体を更新せずに使用できます。 、サーバーと非同期通信します。この手法を使用して、JavaScript で PHP メソッドを呼び出すことができます。
実装は次のとおりです。
var xmlhttp = new XMLHttpRequest();
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() メソッドを使用してデータをサーバーに送信します。
<?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 メソッドを呼び出すために使用されます。
実装は次のとおりです:
npm install php
var php = require('php'); var result = php.myFunction('param1', 'param2'); console.log(result);
このコード スニペットでは、require メソッドを使用して php モジュールを JavaScript 環境に導入し、php.myFunction メソッドを使用して PHP 関数を呼び出します。最後に、関数の戻り値をコンソールに出力します。
<?php $GLOBAL['myFunction'] = function($param1, $param2) { //TODO return $result; }; ?>
このコード スニペットでは、$GLOBAL オブジェクトにより、PHP 関数をグローバル関数として使用できるため、関数名を通じて JavaScript で PHP 関数を呼び出すことができます。
概要:
上記は JavaScript で PHP メソッドを呼び出す 2 つの方法ですが、AJAX モジュールと PHP モジュールは非常に便利です。上記の手法を使用すると、JavaScript で PHP 関数を簡単に呼び出して戻り値を取得できます。
以上がjsでphpメソッドを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。