网络知识 娱乐 【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求

【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求

文章目录

  • 页面配置
    • 页面配置文件的作用
    • 页面配置和全局配置的关系
    • 页面配置
  • 网络数据请求
    • 网络数据请求的限制
    • 配置request合法域名
    • 发起get/post请求
    • 在页面刚加载时请求数据
    • 跳过request合法域名校验
    • 关于跨域和ajax请求

页面配置

每个小程序页面都有一个.json文件,该文件用来对小程序的页面进行配置。

页面配置文件的作用

小程序中,每个页面都有自己的.json配置文件,用来对当前页面的窗口外观、页面效果等进行配置。

页面配置和全局配置的关系

小程序中,app.json中的window节点,可以全局配置小程序中每个页面的窗口表现。

如:当在app.json中全局配置导航栏的文字为苏凉时,此时每个页面的导航栏标题都为苏凉

如果某些小程序页面想要拥有特殊的窗口表现,此时,“页面级别的 .json配置文件”就可以实现这种需求。

注意:当全局配置和页面配置冲突时,根据就近原则,最终的页面以页面配置的效果为准。

页面配置

在页面配置文件(.json)中我们可以通过修改以下属性来配置页面文件。

属性名类型默认值说明
navigationBarTitleTextString字符串导航栏标题文字内容
navigationBarBackgroundColorHexcolor#000000导航栏背景颜色,如#000000
navigationBarTextStyleStringwhite导航栏标题颜色,仅支持black / white
backgroundColorHexcolor#ffffff窗口的背景色
backgroundTextStylestringdark下拉 loading的样式,仅支持dark / light
enablePullDownRefreshBooleanfalse是否全局开启下拉刷新
onReachBottomDistanceNumber50页面上拉触底事件触发时距页面底部距离,单位为px

如:
在这里插入图片描述

网络数据请求

网络数据请求的限制

出于安全性方面的考虑,小程序官方对数据接口的请求做出了如下两个限制;

  1. 只能请求HTTPS类型的接口
  2. 必须将接口的域名添加到信任列表中,如下图所示:
    在这里插入图片描述

下面我们一起来看看如何进行域名配置。

配置request合法域名

步骤:

  1. 登录小程序管理后台:微信小程序管理后台
    在这里插入图片描述

  2. 下拉点击开发下的开发设置
    在这里插入图片描述

  3. 下拉找到服务器域名,点击开始配置
    在这里插入图片描述

  4. 微信扫码进行身份验证,手机上点击开启
    在这里插入图片描述
    5.输入你需要配置的域名,保存并提交。
    在这里插入图片描述
    此时在服务器域名中存在了刚刚所提交的域名。即设置成功。
    在这里插入图片描述

回到微信小程序开发者工具;详情-项目配置-request合法域名中就保存了刚才我们在小程序管理后台中配置的域名了。此时我们就可以在小程序中合法使用这两个域名。
在这里插入图片描述

配置服务器域名注意事项:

  1. 域名只支持https协议
  2. 域名不能使用IP地址或localhost
  3. 域名必须经过ICP备案
  4. 服务器域名一个月内最多可申请5次修改(小程序管理后台显示还可修改49次,为显示bug,实际上就只有5次,请谨慎使用。)

发起get/post请求

调用微信小程序提供的wx.request()方法,可以发起GET数据请求:

在wxml中给按钮绑定一个单击事件:

<button type="primary" bindtap="Get_request">发起GET请求</button>

通过wx.request方法请求数据。

 Get_request(){
     wx.request({
       url: 'https://suliang.blog.csdn.net', //请求地址
       method:"GET", //请求方式 
       data:{         //发送到服务器的数据
           name:'suliang',
           age:21
       },
       success:(result)=>{    //请求成功后的回调函数
             console.log(result);
       }

     })
 }

点击按钮,get请求成功。
在这里插入图片描述

同理:发起POST请求也是如此,只需将method的值修改为PSOT即可。

在页面刚加载时请求数据

在很多情况下,我们需要在页面刚加载的时候,自动请求一些初始化的数据。此时需要在页面的onLoad事件中调用获取数据的函数。
在页面的.js文件中的监听页面加载设置即可。

   /**
     * 生命周期函数--监听页面加载
     */
 onLoad(options) {
     this.Get_request();
 },

跳过request合法域名校验

如果后端程序员仅仅提供了http 协议的接口、暂时没有提供https协议的接口。

此时为了不耽误开发的进度,我们可以在微信开发者工具中,临时开启 「开发环境不校验请求域名、TLS版本及HTTPS证书」 选项,跳过request合法域名的校验。

注意:跳过request合法域名校验。仅限在开发和调试阶段使用,正式上线和发布时,仍然需要配置合法的request域名。

在这里插入图片描述

关于跨域和ajax请求

跨域:指的是浏览器不能执行其他网站的脚本

  1. 跨域问题只存在于基于浏览器的Web开发中。由于小程序的宿主环境不是浏览器而是微信客户端,所以小程序中不存在跨域的问题。

  2. Ajax技术的核心是依赖于浏览器中的XMLHttpRequest这个对象,由于小程序的宿主环境是微信客户端,所以小程序中不能叫做“发起Ajax请求”,而是叫做“发起网络数据请求”。