
thinkphp中使用ajax很简单.主要掌握的地方有三个.
第一.tp中ajax的url需要使用大U方法.比如:$.post("{:U('User/add')}")
第二.控制器中返回结果得第一种方法.$this->error('失败','',true)第三个参数为true.则发挥的是json数据.包含info.status.url三项.
第三.控制器中返回结果的第二种方法.$this->ajaxReturn(array('customKey1'=>'customValue1','customKey2'=>'customValue2','customKey3'=>'customValue3')).
掌握以上三点和ajax基本使用方法.那么在tp中使用ajax也就掌握了.简单的例子如下.伪代码,或许有错.
模板中:
<script>$.post("{:U('User/add')",{uname:xiaoming,age:15},function(data){
//data接收返回数据
if(data.status == 1){
alert(data.info)
location.href = data.url
}else{
alert('错误')
}
})
</script>
控制器中:
public function add(){if(IS_AJAX){
$name = I('post.name','','trim')
$age = I('post.age','','trim')
if($name && $age){
//插入数据
$this->success('添加成功',U('User/index'),true)
}else{
$this->ajaxReturn(array(
'status' => 0,
'info' => '大爷,您没输入名字',
'url' => U('User/add')
))
}
}else{
return false
}
}
大概就是这样子.至于剩下的$.ajax.$.getJson等等都是一样的道理
需要先向目标Pager.php传值:——即应该在ajaxSubmit()函数的“ var URL="Pager.php?active_time_start="+start_time+"&&active_time_end="+end_time”语句上再加上改变后的sql语句,然后再在“Pager.php”文件内予以执行,然后再将其(即Pager.php)执行结果传回!
如:var URL="Pager.php?……end_time&&Sql=Sql”
第一步,引入jquery,各样的版本都有,搜一下,下载下来<script type="text/javascript" src="images/jquery-1.4.4.min.js"></script>
第二步 局部异步刷新的HTML添加ID,比如
<div id="shuaxin"></div>//需要刷新的内容
<a href="#" onclick="Refresh()">刷新</a>//点击刷新
第三步 设置路径,参数等
<script>
function Refresh()
{
$.ajax({
async: false,
url: "a.php",//PHP文件的地址
type: "post",//get和post发送方式
data: { id:"1",cid:"2"},//参数,没有参数可以不要,现在是这样(a.php?a=1$cid=2)
success: function (data)
{
$("#shuaxin").html(data)//data是返回的数据,根据ID添加到shuaxin的div里
}
})
}
</script>
第四步,这是PHP返回数据 a.php
<?php
$id=$_REQUEST['id']//接收id参数,没有参数就不用写
$cid=$_REQUEST['cid']//接收cid参数,没有参数就不用写
//做一些你想做的 *** 作,
echo ?? //返回给html
?>
大概就是这个样子,没测试。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)