ThinkPHP示例之:Ajax表单提交

<?php

class IndexAction extends Action {

    
// 首页
    
public function index() {
        
$Form M("Form");
        
// 按照id排序显示前5条记录
        
$list $Form->order('id desc')->limit(5)->select();//3.0findAll废除了换成select
        
$this->assign('list'$list);
        
$this->display();
    }

    
// 检查标题是否可用
    
public function checkTitle() {
        if (!empty(
$_POST['title'])) {
            
$Form M("Form");
            
//getByTitle是model的获取数据根据某字段获取记录的魔术方法
            //比如getById etc getByXXX XXX大写
            
if ($Form->getByTitle($_POST['title'])) {
                
$this->error('标题已经存在');
            } else {
                
$this->success('标题可以使用!');
            }
        } else {
            
$this->error('标题必须');
        }
    }

    
// 处理表单数据
    
public function insert() {
        
$Form D("Form");
        if (
$vo $Form->create()) {
            if (
false !== $Form->add()) {
                
$vo['create_time'] = date('Y-m-d H:i:s'$vo['create_time']);
                
$vo['content'] = nl2br($vo['content']);
                
//ajax方式返回的数据用ajaxReturn函数
                /*
                    系统支持任何的AJAX类库,Action类提供了ajaxReturn方法用于AJAX调用后返回数据给客户端。
                    并且支持JSON、XML和EVAL三种方式给客户端接受数据,通过配置DEFAULT_AJAX_RETURN进行设置,
                    默认配置采用JSON格式返回数据,在选择不同的AJAX类库的时候可以使用不同的方式返回数据。
                    要使用ThinkPHP的ajaxReturn方法返回数据的话,需要遵守一定的返回数据的格式规范。ThinkPHP返回的数据格式包括:
                    status 操作状态
                    info 提示信息
                    data 返回数据
                    返回数据data可以支持字符串、数字和数组、对象,返回客户端的时候根据不同的返回格式进行编码后传输。
                    如果是JSON格式,会自动编码成JSON字符串,如果是XML方式,会自动编码成XML字符串,如果是EVAL方式的话,
                    只会输出字符串data数据,并且忽略status和info信息。
                 */
                //注意在调试过程中,在ajaxReturn方法前输出任何信息的话,js端ajax 请求的返回状态不是success(如jquery的ajax)
                //信息会进入error function 中才能捕获到
                
$this->ajaxReturn($vo'表单数据保存成功!'1);
            } else {
                
$this->error('数据写入错误!');
            }
        } else {
            
$this->error($Form->getError());
        }
    }

}

?>

模型FormModel类
<?php
class FormModel extends Model {
    
// 自动验证设置
    
protected $_validate     =     array(
        array(
'title','require','标题必须!',1),
        array(
'email','email','邮箱格式错误!',2),
        array(
'content','require','内容必须',1),
        array(
'title','','标题已经存在',0,'unique','add'),
        );
    
// 自动填充设置
    
protected $_auto     =     array(
        array(
'status','1',self::MODEL_INSERT),
        array(
'create_time','time',self::MODEL_INSERT,'function'),
        );

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值