>  기사  >  웹 프론트엔드  >  ajax+php 제어 함수 호출 단계에 대한 자세한 설명

ajax+php 제어 함수 호출 단계에 대한 자세한 설명

php中世界最好的语言
php中世界最好的语言원래의
2018-04-25 15:54:512023검색

이번에는 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);
      }
    });
  });

두 번째 부분: 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();
  }
}
?>

세 번째 부분: LoginController.php, 이 파일 특정 함수형 클래스입니다

<?php
class LoginController {
  
  private $result;
  function LoginController() {
    //初始化数据库连接等参数
  }
  function login($args) {
    //具体的登录逻辑
  }
  function getResult() {
    return $this->result;
  }
}
?>

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

JS는 ajax 호출 배경 정의를 구현합니다(코드 포함)

ajax가 폭포 흐름 레이아웃을 구현하는 단계에 대한 자세한 설명(코드 포함)

위 내용은 ajax+php 제어 함수 호출 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.