首頁 > 後端開發 > php教程 > PHP页面控制器里用if/exit处理各种前端JS发出的"事件/操作/请求"

PHP页面控制器里用if/exit处理各种前端JS发出的"事件/操作/请求"

WBOY
發布: 2016-06-20 12:29:25
原創
695 人瀏覽過

JS是前端,PHP是后端,后端PHP要获取前端JS的变量,那前端JS可以通过AJAX传输数据给后端PHP.
比如登录页面login.php:

/login.php           显示登录界面(默认)/login.php?a=login   处理登录事件(表单)<?phpif (!defined('APP_ROOT')) define('APP_ROOT', './');require APP_ROOT.'include/common.php'; // 加载functions.php,验证cookie等//后端PHP使用if处理各种前端JS发出的"事件/操作/请求",处理完成exit退出if(isset($_GET['action']) && $_GET['action']==='login') {    if(isset($_POST['name'])    && isset($_POST['pass'])    && $_POST['name']==='ele'    && $_POST['pass']===123) {        $ret['num'] = 0;        $ret['txt'] = '登录成功';        echo json_encode($ret);        exit();        } else {        $ret['num'] = 1;        $ret['txt'] = '登录失败';        echo json_encode($ret);        exit();        }}?><?php//下面的 "header.php + 登录表单 + footer.php" //可以考虑写一个render函数加载,从而分离界面和上面的逻辑require 'header.php';?><?php//下面显示登录表单(PHP+HTML+AJAX)?><script src="<?php echo $app['theme_dir']; ?>/js/jquery.js"></script><script>//给登录按钮绑定点击事件$('.con').on('click', '.login', function(){    $(this).text('正在登录');    var context = this;    $.ajax(        url: 'login.php?action=login',        type: 'POST',        //这里就是JS传输给PHP的变量,可以通过DOM获取        data: 'name='+$('.name').val()+'&pass='+$('.pass').val(),        success: function(data){            var obj = $.parseJSON(data);            console.log(obj);            //JS根据PHP返回值进行相应操作            if(obj.num==0) {                $(context).text(obj.txt);                setTimeout(function(){                    //1秒后跳转到首页                    window.location.href = '/';                }, 1000);            } else {                $(context).text(obj.txt);                setTimeout(function(){                    $(context).text('登录');                }, 1000);            }        }    );});</script><?phprequire 'footer.php';?>
登入後複製



來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板