控制器层的相关操作


空操作

(1)    当控制器的动作没找到时,如果空操作存在,会执行这个空操作

public function _empty(){

    header("Content-type:text/html;Charset=utf-8");

       $this->display();

}

初始化操作

(1)当控制器的动作没找到时,如果空操作存在,会执行这个空操作

(2)通常用于错误提示,导航类的跳转

         public function _empty(){

                   $this->display('wrong');

         }

         <a href='__APP__'>首页</a>

display()的其他参数

display('显示的模板文件','输出的编码','输出文件格式')

display()方法的使用

(1)不带参数,会找到对应的分组/控制器/模板

         $this->display();

public function _empty(){

    header("Content-type:text/html;Charset=utf-8");

       $this->display();

}

(2)当前控制器的某个动作对应模板

$this->display('动作名');

public function _empty(){

    header("Content-type:text/html;Charset=utf-8");

       $this->display ('wrong');

}

 (3)调用其他模块的操作

$this->display('User:reg');

    public function dis(){

    $this->display('Ca:reg');}

(4)通过全路径实现

$this->display('./App/Tpl/Home/User/reg.hrml');

    public function dis(){

    $this->display('App/Tpl/Admin/Goods/show.html');}

获得外部数据(系统变量)

1,$_GET、 $_POST、$_SERVER、$_REQUEST 等方式来获取系统变量

访问方式:

$this->_get('变量名');

获得访问服务器的外来用户的ip地址

echo$this->_server('REMOTE_ADDR');

获得当前服务器的ip地址

echo$this->_server('SERVER_ADDR');

      

获得地址栏中的name

echo $this->_get('name');

获得系统常量

//获得当前的项目名称

    echo APP_NAME;

//当前分组的名称

    echo GROUP_NAME;

//当前控制其名称

    echo MODULE_NAME;

//当前动作名称

    echo ACTION_NAME;

如何在TP框架中使用Ajax

以jQuery中的ajax为例:

(1)引入jQuery

    通过模板替换表示路径,我们可以自定义模板替换变量

(2)发送ajax请求

(3)ajax回应(ajaxReturn()方法)

     该方法会将控制器回应的数据进行json编码

     ajaxReturn('返回的数据','提示信息','操作状态')

     请求成功返回1,失败返回0

Eg:Action文件

public function ajax(){

       //去数据库进行查询,验证用户名和密码是否正确

       $user_model = M('Mysql_user');

       $pass = $user_model->field('user_pass')->where("user_name='".$_POST['username']."'")->select();

       //var_dump($pass);

       //echo $_POST['username'];

       //echo $_POST['password'];

       if($pass[0]['user_pass'] !=$_POST['password']){

           echo 'wrong';

       }else {

           echo 'right';

       }

    }

Tpl文件

<form action='' method='POST'>

用户名:<input type='text' name='username' id='username'><br/>

密码:<input type='password'name='password' id='password'><br/>

<input type='button' value='登陆' id='value'>

</form>

<script type='text/javascript'src='__Js__/jquery.js'></script>

<script type='text/javascript'>

 $(function(){

         $("#value").click(function(){

           $.ajax({

           type:'POST',  data:'username='+$("#username").val()+'&password='+$("#password").val(),

           url:'__URL__/ajax',

           async:true,

           dataType:'json',

           success:function(msg){

                  alert(msg.data);

                }

          });

         });

     })

 

</script>

URL的生成

在ThinkPHP中存在多种URL模式,可以配置

1,普通模式:

      index.php?m=user&a=add&id=10

2,pathinfo模式:

     index.php/Admin/user/add/id/10

3,重写模式,和pathinfo模式相同,只是少了入口文件

我们是通过在配置文件中增加配置项(URL_MODEL)来实现的

/*修改url的模式*/

'URL_MODEL'  =>2,

URL的生成

配置完后需要使用U函数来生成url,格式为:

U(‘分组名/控制器名/动作名’,array(‘id’=>100,’age’=>23))

public function url(){

    echo U('Home/Common/url',array('id'=>100,'name'=>'xiaoliang'));

}

如何在模板中使用URL函数

在模板中调用此函数的格式为:

{:函数名(‘参数列表’)}

<ahref="{:U('Admin/Goods/show')}">返回首页</a>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值