§ 在CmsTop中所有的AJAX数据传递均使用JSON数据格式完成。
§ 跨域解决方案采用了Jquery的getJSON方法,使用jsoncallback来解决。
一个完整的示例如下:
前台页面发出AJAX请求,获取一篇文章的统计信息
var contentid = 123;
$(function(){
$.getJSON(
'http://app.cmstop.dev/?app=system&controller=content&action=stat&jsoncallback=?&contentid='+contentid,
function(data){
if(data){
$('#pv').html(data.pv);
}
}
);
});
前台应用接收请求并返回需要的数据
function stat()
{
$contentid = intval($_GET['contentid']);
$pv = loader::model('pv');
$data['pv'] = $pv->get($contentid);
$comments = loader::model('comments');
$data['comments'] = $comments->get($contentid);
$data['islogin'] = setting('comment', 'islogin') ? 1 : 0;
$data = $this->json->encode($data);
echo $_GET['jsoncallback']."($data);";
}