• 小程序数据请求的方式和注意事项


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

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

    ① 只能请求HTTPS类型的接口

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

    2.配置request合法域名

    假设要在自己的微信小程序中,希望请求某一域名下的接口,则配置步骤如下:

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

    注意事项:

    ① 域名只支持https协议

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

    ③ 域名必须经过ICP备案

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

    3.发起GET请求

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

    首先设置好请求域名,然后操作如下:

    1. <button type="primary" bindtap="Info">GET获取请求button>
    2. .js文件和data数据平级
    3. Info(){
    4. wx.request({
    5. // 请求路径
    6. url:"https://www.escook.cn/api/get",
    7. // 请求方式
    8. method:"GET",
    9. // 发送到服务器的数据
    10. data:{
    11. name:"张三",
    12. age:20
    13. },
    14. // 成功之后的回调函数
    15. success:(res)=>{
    16. console.log(res);
    17. }
    18. })
    19. },

    4.发起POST请求

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

    1. <button type="primary" bindtap="PostInfo">POST获取请求button>
    2. PostInfo(){
    3. wx.request({
    4. // 请求路径
    5. url:"https://www.escook.cn/api/post",
    6. // 请求方式
    7. method:"POST",
    8. // 发送到服务器的数据
    9. data:{
    10. name:"张三",
    11. age:20
    12. },
    13. // 成功之后的回调函数
    14. success:(res)=>{
    15. console.log(res);
    16. }
    17. })
    18. },

    5.在页面刚加载时请求数据

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

    1. /**
    2. * 生命周期函数--监听页面加载
    3. */
    4. onLoad(options) {
    5. this.PostInfo()
    6. },

    6.跳过request合法域名校验

    如果后端仅仅提供了http协议的接口,暂时没有https接口,此时可以通过以下设置跳过request合法域名校验。

    注意:仅在开发调试阶段使用。

    7.关于跨域和Ajax的介绍

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

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

  • 相关阅读:
    使用gulp助力前端自动化
    Java2EE基础练习_chapter03数组
    EMC原理 传导(共模 差模) 辐射(近场 远场) 详解
    三生随记——茶叶的诅咒
    二、Git本地仓库基本操作——创建Git仓库、提交更新或删除文件
    web基础和http协议
    RocketMQ安装部署
    栈与队列:设计循环队列
    GIC/ITS代码分析(5)exception处理流程
    EasyExcel导出自定义合并单元格文件
  • 原文地址:https://blog.csdn.net/qq_72760247/article/details/128099930