微信小程序调用PHP后台接口 解析纯html文本


Posted in Javascript onJune 13, 2017

微信小程序调用PHP后台接口,解析纯html文本,效果图片预览 

微信小程序调用PHP后台接口 解析纯html文本

1、微信js动态传参:

wx.request({
  url: 'https://m.****.com/index.php/Home/Xiaoxxf/activity_detail?a_id='+options.id,//含富文本html
  data: {
   is_detail:1
  },
  method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
  header: {
   'Content-Type': 'application/json'
  },
  success: function (res) {
   that.setData({
   Article: res.data //一维数组json编码后对象
   })
   
  /**
   * html解析
  */ 
   var article = that.data.Article;
  console.log("article = " + article);
   WxParse.wxParse('article', 'html', article, that, 5);
   console.log(res.data);
  },
  fail: function (res) { },
  complete: function (res) { },
  }),

其中,options.id是由前一个wxml页面动态传过来的参数。

2、wxParse插件使用:

github地址: https://github.com/icindy/wxParse,版本0.2
解决问题:微信小程序富文本html、md解析组件

1)复制wxParse文件夹到pages同目录
2)在wxml页面引入模板代码:

<import src="../../wxParse/wxParse.wxml"/>
<!--这里可以添加其他的任何wxml代码-->

富文本html框内容:<template is="wxParse" data="{{wxParseData:article.nodes}}"/>

3)在js的page({})里面引入执行文件

// 引入wxParse.js解析文件
var WxParse = require('../../wxParse/wxParse.js');
page({...})

4)在js文件里面解析获取的纯html字符串,注意:这里必须得是字符串(如:'<div>2112</div>'),如果有'\'就要去掉。
示例代码:

wx.request({
  url: 'https://m.*****.com/index.php/Home/Xiaoxxf/activity_detail?a_id='+options.id,//含富文本html
  data: {
   is_detail:1
  },
  method: 'GET', 
  header: {
   'Content-Type': 'application/json'
  },
  success: function (res) {
   that.setData({
   Article: res.data //一维数组json编码后对象,全部数据
   })

  /**
   * html解析
  */ 
   var article = that.data.Article;
  console.log("article = " + article);
   WxParse.wxParse('article', 'html', article, that, 5);
   console.log(res.data);
  },
  fail: function (res) { },
  complete: function (res) { },
  })

3、PHP后台接口(本接口仅做示例,未做安全和过滤校验):

public function activity_detail(){
  $is_detail = I('is_detail');
  if(!empty($is_detail)){   //富文本html文章
   $a_id = I('a_id');
   $a_id = intval($a_id)?$a_id:0;
   if(empty($a_id)){
    $data['code'] = 500;
    $data['msg'] = '抱歉,文章已失效';
    echo json_encode($data);
   }else{
    /* php方法:stripslashes() 将html文章去掉json转移字符\ --xzz0608*/
    //获取结果为指定字段的二维数组,下面截取一维数组
    $data =D()->query("select act_detail from xxf_witkey_activity where is_show = 1 and a_id = ".$a_id." order by a_id desc");
    //var_dump($data);return ;
    $data = $data[0];
    $data = stripslashes(implode(',', $data));
    $data = str_replace(array('src="/data/uploads/','src="data/uploads/'),array('src="http://www.xxiangfang.com/data/uploads/','src="http://www.xxiangfang.com/data/uploads/'),$data);
    echo $data;
   }
  }else{    //普通字段(封面、特色、活动名称)
   $a_id = intval(I('GET.a_id'));
   $data =D()->query("select a_id,act_name,pic_url,introduction from xxf_witkey_activity where is_show = 1 and a_id = ".$a_id." order by a_id desc");
   if($data) 
    $data = $data[0];
    echo json_encode($data);
  }
 }

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript原型继承之基础机制分析
Aug 26 Javascript
JS自动缩小超出大小的图片
Oct 12 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
Apr 12 Javascript
JS.getTextContent(element,preformatted)使用介绍
Sep 21 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
Apr 14 Javascript
不使用script导入js文件的几种方法
Oct 27 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
Jan 23 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 jQuery
vue实现登陆登出的实现示例
Sep 15 Javascript
node使用promise替代回调函数
May 07 Javascript
Vue实现仿iPhone悬浮球的示例代码
Mar 13 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
Jul 28 Javascript
vue时间格式化实例代码
Jun 13 #Javascript
详解vue slot插槽的使用方法
Jun 13 #Javascript
详解Vue.js分发之作用域槽
Jun 13 #Javascript
Javascript实现从小到大的数组转换成二叉搜索树
Jun 13 #Javascript
微信小程序实现移动端滑动分页效果(ajax)
Jun 13 #Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
Jun 13 #Javascript
微信小程序动态显示项目倒计时效果
Jun 13 #Javascript
You might like
php 获取SWF动画截图示例代码
2014/02/10 PHP
经典PHP加密解密函数Authcode()修复版代码
2015/04/05 PHP
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
jQuery的context属性用法实例
2014/12/27 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
2017/01/18 Javascript
详解如何使用Vue2做服务端渲染
2017/03/29 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
JS监听滚动和id自动定位滚动
2018/12/18 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
python命令行参数解析OptionParser类用法实例
2014/10/09 Python
python如何把嵌套列表转变成普通列表
2018/03/20 Python
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
Python txt文件常用读写操作代码实例
2020/08/03 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
约瑟夫·特纳男装:Joseph Turner
2017/10/10 全球购物
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
一套VC试题
2015/01/23 面试题
法雷奥SQA(electric)面试问题
2016/01/23 面试题
企业文化标语大全
2014/06/10 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
2015年电工工作总结
2015/04/10 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python