ホームページ >ウェブフロントエンド >jsチュートリアル >AJAX を使用して JavaScript から PHP 関数を呼び出す方法

AJAX を使用して JavaScript から PHP 関数を呼び出す方法

DDD
DDDオリジナル
2024-11-15 16:54:03379ブラウズ

How to Call PHP Functions from JavaScript Using AJAX?

JavaScript からの PHP 関数の呼び出し

PHP と JavaScript を使用する場合、2 つの言語間のデータを統合する必要があります。このコンテキストでは、JavaScript コード内から PHP 関数を呼び出す必要が生じる場合があります。

これを実現するには、AJAX (非同期 JavaScript および XML) リクエストを利用して、JavaScript から PHP スクリプトにデータを送信します。この場合、外部 PHP ファイルから PHP 関数を呼び出したいと考えています。

// PHP Functions
function add($a, $b) { return $a + $b; }
function mult($a, $b) { return $a * $b; }
function divide($a, $b) { return $a / $b; }
// JavaScript AJAX Request
$.ajax({
    type: "POST",
    url: "your_functions_address.php",
    dataType: "json",
    data: { functionname: "add", arguments: [1, 2] },

    success: function (obj, textstatus) {
        if (!("error" in obj)) {
            // Assign returned result to a JavaScript variable
            yourVariable = obj.result;
        } else {
            // Handle error
            console.log(obj.error);
        }
    }
});
// PHP Response Script (your_functions_address.php)
header("Content-Type: application/json");
$aResult = [];
if (!isset($_POST["functionname"])) { $aResult["error"] = "No function name provided!"; }
if (!isset($_POST["arguments"])) { $aResult["error"] = "No arguments provided!"; }
if (!isset($aResult["error"])) {
    switch($_POST['functionname']) {
        case "add":
            if (count($_POST['arguments']) < 2) { $aResult["error"] = "Not enough arguments!"; }
            else { $aResult["result"] = add(floatval($_POST['arguments'][0]), floatval($_POST['arguments'][1])); }
            break;
        default:
            $aResult["error"] = "Function '".$_POST['functionname']."' not found!";
    }
}
echo json_encode($aResult);

このアプローチにより、JavaScript 内から PHP 関数を動的に呼び出すことができます。 AJAX リクエストは、必要な関数名とその引数を PHP スクリプトに送信し、スクリプトが関数を評価して結果を JSON 形式で返します。

代替アプローチ

Ifこの方法は受け入れられません。JSONP (JSON with Padding) 技術の使用を検討してください。これには、一意のコールバック名を持つ関数を JavaScript で作成し、それをサーバー側スクリプトに渡すことが含まれます。その後、PHP スクリプトは、指定されたコールバック名を持つ関数呼び出しでラップされた JSON データを返すことができます:

echo $_GET['callback'] . '(' . json_encode($result) . ');';

以上がAJAX を使用して JavaScript から PHP 関数を呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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