1.配置项:‘TMPL_FILE_DERP’=>'_':用于减少模板路径层次。但是要将模板文件命名为:控制器名_模板名.html的形式;如:Index_index.html。
2.由于使用AJAX提交数据的时候,我们要使用到处理器的路径,但是在处理方法中是不能使用U()函数生成路径,所有我们将其写在模板中的图文件中,这里是解析的,定义外全局变量;如:
<script type="text/javascript">
var handleUrl='{:U("Index/Index/handle",'','')}';
</script>
3.IS_AJAX:判断页面是否是AJAX提交数据。
4.php AJAX后台数据处理:
Public function handle(){
if(!IS_AJAX) halt('页面不存在');
$data=array(
'username'=>I('username'),
'content'=>I('content'),
'time'=>time()
);
if($id=M('wish')->data($data)->add()){
$data['id']=$id;
$data['time']=date('y-m-d h:i',$data['time']);//将时间戳转换为时间
$data['status']=1;//返回处理时间
$this->ajaxReturn($data,'json');
}else{
$this->ajaxReturn(array('status'=>0),'json');
}
}
5.使用AJAX提交数据:
$.post(handleUrl,{username:username.val(),content:content.val()},function(data){
//处理方法
if(data.status){
var str='<div><div class="one">+data.id+</div>';
str='<div><div class="two">+data.time</div></div>'
$('#main').append(str);
}else{
alert("发布失败!");
}
},'json');
});
6.配置项:‘TMPL_EXCEPTION_FILE’=>'./Public/Tpl/error.html';//指定错误页面的路径。
7.设置和定制错误页:
设置配置项:‘TMPL_EXCEPTION_FILE’=>'./Public/Tpl/error.html';
在处理函数中:if(!IS_AJAX)halt('页面不存在');
在设置好的错误页中:<div class=""><?php echo $e['message'] ?></div>
<div class="">页面将在5秒后跳转 或者点击<a href="<?php echo __APP__ ?>"></a></div>
注意:定制的错误页不支持模板解析,只能写源生的PHP
8.函数F:
F(a,b,c):用于将一个数组写成一个指定的数据文件,并返回这个数组,可用作缓存。有三个参数:a:想写成的文件的文件名;b:需要写入的数组;c:文件指定的路径。如:
F('phiz',$data,'./Data/'):将$data数组存放写成phiz.php文件,存放在项目文件下的Data文件夹中;
F('phiz','','./Data/'):读取项目文件下的Data文件夹中的phiz.php文件中的内容,有返回值。