找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1395|回复: 0

[分享] 织梦cms调用远程连接的json数据库标签

[复制链接]
发表于 2018-7-23 13:54:52 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
织梦json标签是用于调用某个远程连接的json接口,方便同远程站点之间进行通信来调取内容。这个标签可以很方便的对一些网站开放的API接口进行对接。需要注意的是,所传递的数据需要是UTF-8编码格式,否则可能会出现乱码。标签语法:
  
{dede:json url='http://yoursite/json.php' cache=300}
  [field:id/]-[field:title/]
  {/dede:json}

  标签参数:
  url='' //远程json接口地址
  cache=300 //缓存时间,0为不缓存
  标签示例:
  我们首先编写一个简单的服务器端API,将其存放在系统根目录/api下,由于系统是GB2312编码,所以服务端编写的时候我们进行了一些编码转换的处理,保证服务端访问的编码是UTF-8即可。
  
  1. $cfg_NotPrintHead = false;
  2.   header("Content-Type: text/html; charset=utf-8");
  3.   include_once (dirname(__FILE__)."/../include/common.inc.php");
  4.   error_reporting(E_ALL || ~E_NOTICE);
  5.   require_once(DEDEINC.'/json.class.php');
  6.   $reval = array();
  7.   $dsql->SetQuery("SELECT id,title FROM `dede_archives` ORDER BY id DESC LIMIT 0,10");
  8.   $dsql->Execute('me');
  9.   while ($row = $dsql->GetArray('me')) {
  10.   $row['title'] = gb2utf8($row['title']);
  11.   $reval[] = $row;
  12.   }
  13.   $json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS);
  14.   echo $json->encode($reval);
  15.   ?>
复制代码

  通过地址(注意修改为你自己的域名)我们可以访问到刚才编写的服务端文件。
1.webp
  下面我们就可以通过标签来进行访问。
  
{dede:json url='http://www.dede.com/api/arcticle.php' cache=0}
  [field:id/]-[field:title/]
  {/dede:json}

  测试标记结果如下:
2.webp
  如果您是想获取单条记录,可以构造如下的数组:
  
  1. $row[] = $dsql->GetOne(“SELECT * FROM dede_archives WHERE id=88”);
复制代码

  然后将这个数组通过JSON格式化进行处理。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-23 18:25 , Processed in 0.048047 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表