ThinkPHP 学习笔记2-创建许愿墙2

接上一篇博文继续贴。
11、修改js文件,执行提交事件

$('#send-btn').click(function(){
	//验证昵称和内容不能为空
	var obj_username=$('#username');
	var obj_content=$('#content');
	var username=obj_username.val();
	var content=obj_content.val();
		if(username==''){
			alert('用户名不能为空');
			obj_username.focus();
			return;
		}
		if(content==''){
			alert('许愿内容不能为空');
			obj_content.focus();
			return;
		}
		$.post(handleUrl,{username:username, content:content},
			function(data){
				if(data.status){
					var str='<dl class="paper a1">';
					str+='<dt><span class="username">'+data.username+'</span>';
					str+='<span class="num">No.'+data.id+'</span>';
					str+='</dt><dd class="content">'+data.content+'</dd>';
					str+='<dd class="bottom">';
					str+='<span class="time">'+data.time+ '</span>';
					str+='<a href="" class="close"></a></dd></dl>';
					$('#main').append(str);
					$('#close').click();
			        }else{
                        alert('发布失败');
			        }	
			}, 'json');
});
12、上一步中用到的handleUrl在Index_index.html中定义。
<script type="text/javascript">
	var handleUrl='{:U("/Index/Index/handle","","")}';
</script>
之所以定义在这里,而不是直接定义在index.js里,是因为index.js里面不能解析php方法,而模板页面里面可以。
在分组部署的情况下,要把分组名称和action名称都加上来获取路径
第三个参数是用来配置后缀名的,默认是html
13、后台Action添加handle方法,处理前台提交来的数据
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['content'] =replace_phiz($data['content']);
    		$data['time']=date('y-m-d H:i', $data['time']);
    		$data['status']=1;
    		$this->ajaxReturn($data, 'json');
    	} else{
    		$this->ajaxReturn(array('status' => 0), 'json');
    	}
    }
14、halt也可以用_404,作用一样。还可以自定义错误页面。
       首先在config.php中指定错误页面路径:
//指定错误页面模板路径	
'TMPL_EXCEPTION_FILE' => './Public/Tpl/error.html',
       然后在相应路径下创建错误信息页:
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title></title>
	<script type="text/javascript">
		window.onload=function(){
			setTimeout(function(){
				window.location.href='<?php echo __APP__;?>';
			},5000);
		}
	</script>
</head>
<body>
	<div>
		<p><?php echo $e['message'];?></p>
		<div>
			页面将在5秒后跳转 或者点击<a href="<?php echo __APP__;?>">
			返回首页</a>
		</div>		
	</div>
</body>
</html>
至此完成了一个ajax方式的数据提交,和接收数据后插入数据库并返回信息提示的操作。

转载于:https://my.oschina.net/u/173975/blog/151712

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值