ajax+php制御関数呼び出し手順の詳細説明

php中世界最好的语言
リリース: 2018-04-25 15:54:51
オリジナル
2021 人が閲覧しました

今回は、ajax+php コントロール関数を呼び出す手順について詳しく説明します。 ajax+php コントロール関数を呼び出す際の 注意事項 は何ですか? 以下は実際のケースです。

phpのajax呼び出しロジックを完成させるために3つの部分に分かれています。以下は一般的な構造です

最初の部分: ajaxリクエスト:主にアクションパラメータ、LoginControllerはphpのクラス名、loginは関数名です。 LoginController クラス内

$('#submit').on('click', function (e) {
    e.stopPropagation();
    $.ajax({
      url: "../../controllers/Controller.php",
      data: {
        action: "LoginController/login",
        username: username,
        password: password
      },
      dataType: "text",
      type: 'POST',
      timeout: 10000,
      error: function () {
        alert("服务器超时");
      },
      success: function (data) {
          alert(data);
      }
    });
  });
ログイン後にコピー
2 番目の部分: Controller.php、このファイルは他の特定の機能クラス

Controller を呼び出します。これは、主にリフレクションを通じて重要な役割を果たします

<?php
if (!empty($_REQUEST[&#39;action&#39;])) {
  try {
    $action = explode(&#39;/&#39;, $_REQUEST[&#39;action&#39;]);
    $class_name = $action[0];
    $method_name = $action[1];
    require $class_name . &#39;.php&#39;;
    $class = new ReflectionClass($class_name);
    if (class_exists($class_name)) {
      if ($class->hasMethod($method_name)) {
        $func = $class->getmethod($method_name);
        $instance = $class->newInstance();
        $func->invokeArgs($instance, array($_REQUEST));
        $result = $instance->getResult();
        echo $result;
      }
    }
  } catch (Exception $exc) {
    echo $exc->getTraceAsString();
  }
}
?>
ログイン後にコピー
3 番目の部分: LoginController.php、このファイルこれは特定の関数クラスです

<?php
class LoginController {
  
  private $result;
  function LoginController() {
    //初始化数据库连接等参数
  }
  function login($args) {
    //具体的登录逻辑
  }
  function getResult() {
    return $this->result;
  }
}
?>
ログイン後にコピー
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

JS による Ajax 呼び出しバックグラウンド定義の実装 (コード付き)

Ajax でウォーターフォール フロー レイアウトを実装する手順の詳細な説明 (コード付き)

以上がajax+php制御関数呼び出し手順の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート