ThinkPHP 學習筆記2-建立許願牆2

接上一篇博文繼續貼。
十一、修改js文件,執行提交事件 javascript

$('#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');
});
十二、上一步中用到的handleUrl在Index_index.html中定義。
<script type="text/javascript">
	var handleUrl='{:U("/Index/Index/handle","","")}';
</script>
之因此定義在這裏,而不是直接定義在index.js裏,是由於index.js裏面不能解析php方法,而模板頁面裏面能夠。
在分組部署的狀況下,要把分組名稱和action名稱都加上來獲取路徑
第三個參數是用來配置後綴名的,默認是html
1三、後臺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');
    	}
    }
1四、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方式的數據提交,和接收數據後插入數據庫並返回信息提示的操做。
相關文章
相關標籤/搜索