phpcms api怎么写接口?
最近自己开发了一套crm系统,想着如果将来能卖出去,能不能再界面动态调用自己网站的推荐信息,算是一种广告吧!于是尝试着用phpcms开发一个简单的api接口
phpcms v9开发简单api接口(适用于小白!)
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大功告成!这样就可有跨域调用自己的网站里边的东西了!
效果浏览如图:
PHP中文网,大量的免费PHPCMS教程,欢迎在线学习!