剛剛在查資料的時候看到一篇對自己今后有的文章,是關於TP框架的,將就吧它摘下來了。
以jQuery中的ajax為例:
(1)引入jQuery
通過模板替換表示路徑,我們可以自定義模板替換變量(在config中定義)
/*自定義模板替換標簽*/
'TMPL_PARSE_STRING' =>array(
'__JS__'=>'/Think_php/Public/script'
),
(2)發送ajax請求(跟jquery中的ajax一樣8步)
(3)ajax回應(ajaxReturn()方法)
該方法會將控制器回應的數據進行json編碼
ajaxReturn('返回的數據','提示信息','操作狀態')
請求成功返回1,失敗返回0
ajaxReturn() ,控制器給我們返回數據進行json格式的編碼
需要保證客戶端接收的時候也要保證接受的數據格式是json格式的
dataType: json
默認就是json格式的
例:用戶名的驗證用ajax請求
public function ab(){
$this->display();
}
public function ajax(){
//echo $_POST['username'];
$user_model=M('User');
$pass=$user_model->field('dept_id')->where("user_name='".$_POST['username']."'")->select();
if($pass[0]['dept_id']!=$_POST['password']){
//ajax回應(ajaxReturn()方法,該方法會將控制器回應的數據進行json編碼,ajaxReturn('返回的數據','提示信息','操作狀態'),請求成功返回1,失敗返回0
$this->ajaxReturn(array('wrong'),'failed',0);
//$this->ajaxReturn('成功','success',1);
//echo 'error';
}else{
//echo 'success';
$this->ajaxReturn(array('right'),'success',1);
//$this->ajaxReturn('失敗','error',0);
}
}
tpl:
<form action="" method="post">
用戶名:<input type="text" name="username" id="username"><br />
密碼:<input type="password" name="password" id='password'><br />
<input type="button" id="sub" value="提交">
<script type="text/JavaScript" src="__JS__/jquery-1.4.2.min.js"></script>
<script>
$(function(){
$("#sub").click(function(){
$.ajax({
type:'POST',
data:'username='+$("#username").val()+'&password='+$("#password").val(),
url: '__URL__/ajax',
async:true,
dataType:'text',
success:function(msg){
alert(msg.data);<!--接收ajax函數返回的數據-->
}
})
})
})
</script>