• 网络数据请求


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

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

    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 请求”,而是叫做“发起网络数据请求”。

  • 相关阅读:
    python编程:创建 SQLite 数据库和表的图形用户界面应用程序
    教你如何帮助孩子做好时间管理,不再需要重复提醒!
    音视频常见问题(六):视频黑边或放大
    【python中级】linux下timeout_decorator程序超时处理
    鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统
    【IVI】15.1.5 系统稳定性优化篇(LMKD VI)Vmpressure监视器初始化及其工作原理
    又拍云 Redis 的改进之路
    T31开发笔记:GPIO控制
    C++基础从0到1入门编程(二)
    多旋翼无人机仿真 rotors_simulator:基于PID控制器的位置控制---高度控制
  • 原文地址:https://blog.csdn.net/chengqiuming/article/details/126769350