A total of 3 to complete the PHP Ajax call logic, the following is the approximate structure
The first part: AJAX request: The main action This parameter, Logincontroller is the class name of PHP, login is logincontroller the function name in this class
$ (' #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 ("Server timeout");
},
success:function (data) {
alert (data);
}});
Part II: controller.php, this file is to invoke other specific functional class controller, play a pivotal role, mainly through reflection to achieve
<?php
if (!empty ($_request[' action ')) {
try {
$action = explode ('/', $_request[' action ']);
$class _name = $action [0];
$method _name = $action [1];
Require $class _name. '. php ';
$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 ();
}
? >
Part III: logincontroller.php, this file is a specific functional class
<?php
class Logincontroller {
private $result;
function Logincontroller () {
//Initializing database connection parameters
}
function Login ($args) {
//Specific login logic
}
function GetResult () {return
$this->result;
}
}
? >
The meaning is the whole content of this article, I hope you can enjoy it.