微信小程序调用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 相关文章推荐
js 金额文本框实现代码
Feb 14 Javascript
jquery入门—编写一个导航条(可伸缩)
Jan 07 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
Feb 06 Javascript
js简单实现交换Li的值
May 22 Javascript
jQuery插件MixItUp实现动画过滤和排序
Apr 12 Javascript
浅谈document.write()输出样式
May 07 Javascript
Highcharts入门之简介
Aug 02 Javascript
jQuery选择器之表单元素选择器详解
Sep 19 jQuery
Vim快速合并行及vim 将文件所有行合并到一行
Nov 27 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
May 13 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
Aug 20 Javascript
node运行js获得输出的三种方式示例详解
Jul 02 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(视频)Http下载
2006/12/12 PHP
php 正则 过滤html 的超链接
2009/06/02 PHP
php搜索文件程序分享
2015/10/30 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
PHP实现数据四舍五入的方法小结【4种方法】
2019/03/27 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
2009/03/26 Javascript
JQuery优缺点分析说明
2010/06/09 Javascript
基于jquery的Repeater实现代码
2010/07/17 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
原生JS实现的双色球功能示例
2018/02/02 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
Python 详解基本语法_函数_返回值
2017/01/22 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
详解Python中Pyyaml模块的使用
2020/10/08 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
英国领先品牌手动工具和电动工具供应商:Tooled Up
2018/11/24 全球购物
现金出纳岗位职责
2014/03/15 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电