phpcms v9的api接口都存放到api文件夹下的,访问路径为http://www.XXX.com/api.php?op=count&.....,其他的op=count为你的详细的api文件,以是我根据这个规律开始开拓!
(1)第一步:在网站的api文件夹下创建文件demo.php,代码:
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
if($_GET['catid'] && $_GET['num']) {
$catid = intval($_GET['catid']); //用来吸收要求的栏目id
$num = intval($_GET['num']); //用来吸劳绩取数量
}
$modelid =1; //设置你要调用栏目的模型id
$db = pc_base::load_model('content_model');//引入content模型
$db->set_model($modelid); //设置模型id,如果是其他非文章模型可以不须要设置这个
$arr = $db->select(array('catid' => $catid),'',$num); /调用所要求栏目id下的文章
$r = json_encode($arr); //转换为json类型
//jsonp要求的固定写法,可以办理跨域问题,引入callback回调函数
echo $_GET['jsoncallback'] . \"大众(\"大众.$r.\"大众)\公众;
?>
(2)在要求端页面采取ajax发送要求
<script>
$(function(){
$.ajax({
url:'http://www.XXX.com/api.php?op=demo&catid=28&num=10',
dataType:'jsonp', //jsonp类型
jsonp:\"大众jsoncallback\"大众, //回调
type:'get',
success:function(data){
var data=eval(data); //转化为json工具
$.each(data, function(index, p){
html = \"大众<li>\"大众;
html += \"大众<a href='\"大众+ p.url +\"大众' target='_blank'>\公众+ p.title +\公众</a>\公众;
html += \公众</li>\"大众;
$(\公众#test\公众).append(html); //追加到id=test的div里边
})
},
error : function() {
console.log('fail');
}
});
});
</script>
ok大功告成!
这样就可有跨域调用自己的网站里边的东西了!
效果浏览如图: