网络数据请求

一 小程序中网络数据请求的限制

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

1 只能请求 HTTPS 类型的接口

2 必须将接口的域名添加到信任列表中

二 配置 request 合法域名

需求描述:假设在自己的微信小程序中,希望请求 刘龙彬的博客 域名下的接口

配置步骤:登录微信小程序管理后台 -> 开发 -> 开发设置 -> 服务器域名 -> 修改 request 合法域名

注意事项:

1 域名只支持 https 协议

2 域名不能使用 IP 地址或 localhost

3 域名必须经过 ICP 备案

4 服务器域名一个月内最多可申请 5 次修改

三 发起 GET 请求

调用微信小程序提供的 wx.request() 方法,可以发起 GET 数据请求,示例代码如下。

 // 发起GET数据请求 

 getInfo() {

    wx.request({

      url: 'https://www.escook.cn/api/get',

      method: 'GET',

      data: {

        name: 'zs',

        age: 20

      },

      success: (res) => {

        console.log(res.data)

      }

    })

  }

四 发起 POST 请求

调用微信小程序提供的 wx.request() 方法,可以发起 POST 数据请求,示例代码如下。

  // 发起POST请求

  postInfo() {

    wx.request({

      url: 'https://www.escook.cn/api/post',

      method: "POST",

      data: {

        name: 'ls',

        age: 33

      },

      success: (res) => {

        console.log(res.data)

      }

    })

  }

五 在页面刚加载时请求数据

在很多情况下,我们需要在页面刚加载的时候,自动请求一些初始化的数据。此时需要在页面的 onLoad 事件中调用获取数据的函数,示例代码如下。

  /**

   * 生命周期函数--监听页面加载

   */

  onLoad: function (options) {

    this.getInfo()

    this.postInfo()

  }

六 跳过 request 合法域名校验

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

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

注意:

跳过 request 合法域名校验的选项,仅限在开发与调试阶段使用!

七 关于跨域和 Ajax 的说明

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值