`

PHP_THINKPHP_study9_判断是否Ajax提交和错误页面定制

    博客分类:
  • php
 
阅读更多

一、异步Ajax提交

     1、基于wish分组基础框架。

     2、首先将form提交页面模板引入APP/Tpl/Index/Index_index.html

     3、配置config.php 参数 :

    //点语法默认解析
    'TMPL_VAR_IDENTIFY' => 'array',
    //模板路径
    'TMPL_FILE_DEPR' => '_'

    4、在form 表单 中提交按钮绑定方法:

      

<script type="text/javascript">
        var handleUrl = '{:U("Index/Index/handle","","")}';
        function logincheck() {
            var username = $("#username").val();
            var password = $("#userpwd").val();
            if (username == '') {
                alert('用户名不能为空');
                $("#username").focus();
            }

            if (password == '') {
                alert('密码不能为空');
                $("#userpwd").focus();
            }
            $.post(
                    handleUrl,
                    {
                        username: username,
                        password: password
                    },
                    function (data) {

                    },
                    'json'
            )
        }
    </script>

    5、在Index/indexAction.class.php中创建handle方法:

    

  Public function handle()
    {
        if (!IS_AJAX) halt('页面不存在');//_404(页面不存在)
        p(I('post.'));
    }

    注:IS_AJAX判断是否为ajax提交过来还是通过url直接访问的.

 

  二、错误页面定制

      1、halt('提示语') 等同于_404('提示语')

      2、在 wish/Public/Tpl/新建error.html

      3、在wish/App/Conf/Index/config.php 配置参数

        

'TMPL_EXCEPTION_FILE'=>'./Public/Tpl/error.html'//错误页面指定路径

    

  三、ajax的请求数据插入数据库并且返回前台

    1、在Action中handle代码:

      

 Public function handle()
    {
        if (!IS_AJAX) halt('页面不存在');//_404(页面不存在)
        //p(I('post.'));
        $data = array(
            'username' => I('username'),
            'password' => I('password')
        );
        /*  $phiz = array(
              'zhuakuang' => '抓狂',
              'baobao' => '抱抱',
              'haixiu' => '含羞'
          );
          F('phiz', $phiz, './Data/');//写入数组到指定文件方法
          $phiz = F('phiz', '', './Data/');//从文件读取数组的方法*/
        if (M('user')->data($data) -> add()) {
            $data['status'] = 1;
            $this->ajaxReturn($data, 'json');
        } else {
            $this->ajaxReturn(array('status' => 0), 'json');
        }

    }

 

   2、前台js处理返回

     

  $.post(
                    handleUrl,
                    {
                        username: username,
                        password: password
                    },
                    function (data) {
                        if (data.status) {
                            alert('登陆成功');
                        } else {
                            alert('登陆失败');
                        }
                    },
                    'json'
            )

 四、F('数组名',array(数组),'路径')函数

     将数组保存在指定文件;

      F('phiz', $phiz, './Data/');//写入数组到指定文件方法 

     将数组从指定文件都出来;

      $phiz = F('phiz', '', './Data/');//从文件读取数组的方法*/

   详情请看附件:

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics