微信小程序:从PHP后台获取数据用于前端的显示

我们都知道前端的页面布置好以后,要从后台调取数据来填充内容,那我们要怎样从后天调取数据呢.下面我们来展示的时从后台调取图片用于前端网页的轮播图显示.

如果我们把数据存储在前端的JS中的话,那每次更新内容用户都需要更新APP或者程序.  这样很麻烦这样.  我们需要写一个方法从后台调取数据  .我们要更改轮播图片的话,只需要在后台更改数据进行,用户APP或者程序不需要每次更新.  因为每次前端轮播图的显示的图片都是从后台获取数据,所以就不存在后台更新数据 APP或者程序也需要更新了.

 

WXML:

  //基本的轮播图框架
    <swiper class="swiper-block" previous-margin="90rpx" next-margin="90rpx" current="0" indicator-dots="true" autoplay="true" interval="2000" duration="500" bindchange="swiperChange">   
    <block wx:for="{{banner}}" wx:index="{{index}}">  
      <swiper-item class="swiper-item">
        <image mode="aspectFill" src="{{item.imgUrl}}"  class="slide-image {{swiperIndex == index ? 'active' : ''}}" /> 
         //src这里要注意一下后台对图片地址的关键键名是什么                            
      </swiper-item>
    </block>
  </swiper>

WXSS:  这个不重要

//自己设计的样式
.swiper-block {
  height: 480rpx;
  width: 100%;
  background-color: #b36969;
}

.swiper-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  overflow: unset;
}

.slide-image {
  height: 420rpx;
  width: 520rpx;
  border-radius: 9rpx;
  box-shadow: 0px 0px 30rpx rgba(138, 69, 69, 1);
  margin: 0rpx 10rpx;
  z-index: 1;
}

.active {
  transform: scale(1.14);
  transition: all 0.2s ease-in 0s;
  z-index: 20;
}

 在Utils文件下生产一个新的JS文件,我们这里命名为Base.js,用来写一个公共类,以后调用图片的方式都可以是这个

Base.jS:


let host = "http://192.168.1.111";    //这个网址是你PHP给出的网址的域名.
export default class Base{   //父类Base
  constructor() {}   //构造函数

  request(promer, callBack) {     //传入数据类, 返回函数
    wx.request({
      url: host + promer.url,     //后台地址   域名加文件存储的文件夹名字就可以找到
      data: promer.data,          //后台date
      method: promer.method ? promer.method : 'GET',   //后台方法
      success: function(res) {
        callBack(res.data)       //调用成功返回res.date
      },
      fail: function(res) {
        console.log(err)         //调用失败就在控制台输出错误
      }
    })
  }
}

在JS文件夹下新建一个JS,命名为logs_mobel.js作为图形层和后台链接的模型层

logs_mobel.js:

import Base from "../..//utils/Base.js"     //链接Base.js

export default class Index  extends Base{    //构造一个公开的Index ,基于父类Base
  constructor(){                                //构造函数
    super();                                    //调用父类
  }
  getBanners(callBack){                              //
    let promer = {                              //promer是一个类
      url: "/demo/public/index/banner/getIndex"   //这里是图片存储的文件夹,如果是网上获取的可以相应更改
    }
    this.request(promer, callBack)              //返回值等于调用父类后的结果
  }
}

JS:


import Index from "./logs_model.js";   //链接模型层的js的Index
let index = new Index();               //定义一个新的Index类,命名为index

Page({
  data: {
    banner: [],
    swiperIndex: 0
  },
  swiperChange(e) {
    var that = this;
    that.setData({
      swiperIndex: e.detail.current,
    })
  },
  onLoad: function() {
    this.getBanner()    //小程序启动调用
  },

  getBanner: function()     
  {
    const that = this;    //this指当前
    index.getBanners(function(res){   //调用index这个类的getBanners函数  传入一个匿名函数
      that.setData({                   //在匿名函数中赋值给当前page的banner数组
        banner: res
      })
    })
  }
})

 

 

 

 

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值