各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > phpcms

phpcms简单的api接口开发

管理员 2022-08-28
phpcms
483
最近自己开发了一套crm系统,想着如果将来能卖出去,能不能再界面动态调用自己网站的推荐信息,算是一种广告吧!于是尝试着用phpcms开发一个简单的api接口


phpcms v9的api接口都存放到api文件夹下的,访问路径为http://www.XXX.com/api.php?op=count&.....,其他的op=count为你的具体的api文件,所以我根据这个规律开始开发!

(1)第一步:在网站的api文件夹下创建文件demo.php,代码:
  1. defined('IN_PHPCMS') or exit('No permission resources.');  
  2.  
  3. if($_GET['catid'] && $_GET['num']) { 
  4.     $catid = intval($_GET['catid']); //用来接收请求的栏目id
  5.     $num = intval($_GET['num']); //用来接收获取数量
  6. }    
  7.  
  8. $modelid =1; //设置你要调用栏目的模型id
  9. $db = pc_base::load_model('content_model');//引入content模型 
  10. $db->set_model($modelid); //设置模型id,如果是其他非文章模型可以不需要设置这个
  11.  
  12. $arr = $db->select(array('catid' => $catid),'*',$num); /调用所请求栏目id下的文章
  13. $r = json_encode($arr);  //转换为json类型
  14.  
  15. //jsonp请求的固定写法,可以解决跨域问题,引入callback回调函数 
  16. echo $_GET['jsoncallback'] . "(".$r.")";
  17. ?> 
(2)在请求端页面采用ajax发送请求

  1. <script> 
  2.        $(function(){ 
  3.            $.ajax({ 
  4.                url:'http://www.XXX.com/api.php?op=demo&catid=28&num=10'
  5.                dataType:'jsonp', //jsonp类型
  6.                jsonp:"jsoncallback", //回调
  7.                type:'get'
  8.                success:function(data){ 
  9.                    var data=eval(data); //转化为json对象
  10.                    $.each(data, function(index, p){ 
  11.                        html  = "
  12. "
  13.                        html += "+ p.url +"' target='_blank'>"+ p.title +"";  
  14.                        html += "
  15. "
  16.                        $("#test").append(html); //追加到id=test的div里边
  17.                    }) 
  18.                  }, 
  19.                error : function() {   
  20.                    console.log('fail');   
  21.                 }   
  22.            }); 
  23.        }); 
  24.     </script> 
ok大功告成!这样就可有跨域调用自己的网站里边的东西了!
效果浏览如图:



扫码关注

qrcode

QQ交谈

回顶部