• 微信小程序中发送网络请求


    小程序项目

    代码涉及的主要文件有:

    1. app.json
    2. pages/index/index.wxml
    3. pages/index/index.wxss
    4. pages/index/index.js

    在这里插入图片描述

    app.json

    {
      "pages": [
        "pages/index/index"
      ],
      "window": {
        "navigationBarBackgroundColor": "#1c424d",
        "navigationBarTitleText": "首页",
        "navigationBarTextStyle": "white"
      },
      "style": "v2",
      "sitemapLocation": "sitemap.json"
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    pages/index/index.html

    <view class="box">
      <image src="/static/images/aito.jpg"></image>
      <text class="title">AITO 问界M5</text>
      <text>{{desc}}</text>
    </view>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    pages/index/index.wxss

    .box{
      margin: 50rpx;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    image{
      width: 100rpx;
      height: 100rpx;
      border-radius: 50%;
    }
    .title{
      padding: 20rpx;
      font-size: 28rpx;
      color: rgba(0,0,0,0.7);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    pages/index/index.js

    Page({
      data:{
        desc:""
      }
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5

    发送网络请求

    网络请求函数

    微信小程序提供了 wx.request(Object object) 这个API,用于发送网络请求,该API接受一个对象作为参数,该对象包含多个属性,其中常用的有:

    • url,请求的地址,string类型,必填。
    • data,请求的参数,可以是一个字符串或一个对象,非必填。
    • method,请求的方法,string类型,默认值是"GET"
    • success,请求成功的回调函数,非必填。
    • fail,请求失败的回调函数,非必填。

    代码变更涉及的文件有:pages/index/index.js。

    如果想让发送请求的测试跑通,需要在微信开发者工具中进行简单设置:
    详情>本地设置,勾选不检验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书

    在这里插入图片描述

    pages/index/index.js

    Page({
      data:{
        desc:""
      },
      onLoad(){
        wx.request({
          url:"https://api.uixsj.cn/hitokoto/get",
          method:"GET",
          success: res => {
            console.log("请求成功",res);
            this.setData({desc:res.data})
          },
          fail: err => {
            console.log("请求失败",err);
          }
        })
      }
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    封装网络请求函数

    代码变更涉及的文件有:

    1. pages/index/index.js。
    2. utils/request.js。项目根目录下新建目录:utils,utils下新建文件:request.js。

    pages/index/index.js

    import request from "../../utils/request";
    Page({
      data:{
        desc:""
      },
      onLoad(){
        this.getDataFromServer();
      },
      async getDataFromServer(){
        let result = await request("https://api.uixsj.cn/hitokoto/get");
        console.log(result);
        this.setData({desc:result})
      }
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    utils/request.js

    export default (url,data={},method="GET") => {
      return new Promise((resolve,reject) => {
        wx.request({
          url,
          data,
          method,
          success: res => {
            console.log("请求成功");
            resolve(res.data);
          },
          fail: err => {
            console.log("请求失败");
            reject(err);
          }
        })
      })
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    相关链接

    【微信小程序】小程序与服务端的http通信

  • 相关阅读:
    机器学习基础04DAY
    vuex中actions异步调用以及读取值
    Asynchronous Servlet 在 Nacos 1.X 动态配置管理中的应用
    Linux17 --- 消息队列
    开关控制开启和禁用Redis
    【JAVA预备】课程目录
    Oracle中ALTER TABLE的五种用法(一)
    DDD战略设计--如何设计聚合(含示例代码)
    Nilpotent
    Cadence Allegro PCB设计88问解析(十四) 之 Allegro中库路径设置方法
  • 原文地址:https://blog.csdn.net/qzw752890913/article/details/125426071