JavaScript からの PHP 関数の呼び出し: 詳細ガイド
この記事では、頻繁に行われるタスクである JavaScript からの PHP 関数の呼び出しについて説明します。 Web アプリケーションを統合するときに発生します。
JavaScript制限
JavaScript は、PHP とは異なり、Web ブラウザ内で動作するクライアント側のスクリプト言語です。サーバー側の PHP 関数に直接アクセスすることはできません。
解決策: AJAX リクエスト
このギャップを埋めるために、開発者は AJAX (非同期 JavaScript および XML) リクエストを活用できます。 AJAX を使用すると、JavaScript はページをリロードせずに、サーバーに対して HTTP リクエストを作成し、非同期でレスポンスを受信できます。
AJAX リクエストの実装
以下は、 「add」という名前の PHP 関数を使用してjQuery:
$.ajax({ type: "POST", url: 'your_functions_address.php', dataType: 'json', data: {functionname: 'add', arguments: [1, 2]}, success: function (obj, textstatus) { if( !('error' in obj) ) { yourVariable = obj.result; } else { console.log(obj.error); } } });
サーバーサイド PHP スクリプト
「your_functions_address.php」スクリプトは AJAX リクエストを処理し、「add」関数を実行します。
header('Content-Type: application/json'); $aResult = array(); if( !isset($_POST['functionname']) ) { $aResult['error'] = 'No function name!'; } if( !isset($_POST['arguments']) ) { $aResult['error'] = 'No function arguments!'; } if( !isset($aResult['error']) ) { switch($_POST['functionname']) { case 'add': if( !is_array($_POST['arguments']) || (count($_POST['arguments']) < 2) ) { $aResult['error'] = 'Error in arguments!'; } else { $aResult['result'] = add(floatval($_POST['arguments'][0]), floatval($_POST['arguments'][1])); } break; default: $aResult['error'] = 'Not found function '.$_POST['functionname'].'!'; break; } } echo json_encode($aResult);
このアプローチにより、JavaScript が PHP 関数を動的に呼び出し、PHP 関数間でデータを交換できるようになります。クライアント側とサーバー側のスクリプト。
以上がJavaScript はページを更新せずに PHP 関数を呼び出すにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。