>백엔드 개발 >PHP 튜토리얼 >PHP는 Ajax를 기반으로 모든 백그라운드 함수 호출에 대한 제어를 구현합니다.

PHP는 Ajax를 기반으로 모든 백그라운드 함수 호출에 대한 제어를 구현합니다.

墨辰丷
墨辰丷원래의
2018-06-08 16:49:581421검색

이 글은 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, 이 파일은 다른 특정 기능 컨트롤러를 호출하는 것입니다. 주로 반사를 통해 중추적인 역할을 합니다.

<?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에서 구현된 단어 추측 게임

php 설문지 결과 통계 사용하기

php를 사용하여 .sql 파일을 자동으로 실행하는 방법

위 내용은 PHP는 Ajax를 기반으로 모든 백그라운드 함수 호출에 대한 제어를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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