一、异步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/');//从文件读取数组的方法*/
详情请看附件: