php ajax 原理,thinkphp的Ajax实现原理

不是很懂你的意思,Ajax请求到后台获取数据之后通过前端模板引擎渲染到前台,怎么是“通过模板的渲染直接从控制器返回数据”?,返回数据还需要模板引擎吗?模板引擎的使用是避免拼接字符串,便于更好的处理ajax返回的数据。因为ajax请求数据在项目里经常用到,可以自己封装一下方法,比如我用的方式:

protected $msg;

//返回数据失败

protected function fail($mode=false,$type="json"){

$this->msg['status'] = 'failure';

if(true===$mode){

$this->reply($type);

}

}

//返回数据成功

protected function succeed($mode=false,$type="json"){

$this->msg['status'] = 'success';

if(true===$mode){

$this->reply($type);

}

}

//返回的数据

protected function setResult($result){

$this->msg['result'] = $result;

}

protected function reply($type="json"){

if($type == 'string'){

print_r($this->msg);

}else{

echo json_encode($this->msg);

}

exit;

}

使用方法:

1.请求成功:

$this->setResult($data);

$this->succeed(true)

2.请求失败:

$this->setResult("请求失败") //可以不用写

$this->fail(true)

js中ajax请求:

$.post('',$data).done(function(rs){

var rs = $.parseJSON(rs);

if(rs.status == 'success') {

var msg = rs.result; //获取数据

} else {

//请求失败的处理

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值