易站通,带你玩转PHPCMS建站程序,让你更快的熟悉该程序下面让我们来学习吧
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发送请求
$(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=eva l(data); //转化为json对象
$.each(data, function(index, p){
html = "
";html += ""+ p.title +"";
html += "
";$("#test").append(html); //追加到id=test的div里边
})
},
error : function() {
console.log('fail');
}
});
});
ok大功告成!这样就可有跨域调用自己的网站里边的东西了!
效果浏览如图:
PHP中文网,大量的免费PHPCMS教程,欢迎在线学习!