微信小程序中的网络请求

微信小程序中的网络请求

为了安全,微信小程序只能请求http类型接口,请求其他接口时必须将接口的域名添加到新人列表中。
在这里插入图片描述

配置request合法域名

登录微信小程序管理后台添加链接描述> 开发 -> 开发设置 -> 服务器域名 -> 修改 request 合法域名
注意:
① 域名只支持 https 协议
② 域名不能使用 IP 地址或 localhost
③ 域名必须经过 ICP 备案
④ 服务器域名一个月内最多可申请 5 次修改

网络数据请求

发起get请求

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

getInfo(){
    vxwx.request({
      url: 'https://www.escook.cn/api/get',
      method:'GET',
      data:{
        name: 'zs',
        age:20
      },
      success:(res) => {
        console.log(res.data)
      }
    })
  },

发起post请求

getInfo(){
vxwx.request({
url: ‘https://www.escook.cn/api/get’,
method:‘POST’,
data:{
name: ‘zs’,
age:20
},
success:(res) => {
console.log(res.data)
}
})
}

页面加载时候就请求数据

可以在时间onload中定义fuction,调用get\post网络请求

onload: funtion(e){
postInfo()getInfo()

}
postInfo(){
}
getInfo(){
}

跳过 request 合法域名校验

如果后端程序员仅仅提供了 http 协议的接口、暂时没有提供 https
协议的接口。
此时为了不耽误开发的进度,我们可以在微信开发者工具中,临时
开启「开发环境不校验请求域名、TLS 版本及 HTTPS 证书」选项,
跳过 request 合法域名的校验。
在这里插入图片描述
跳过 request 合法域名校验的选项,仅限在开发与调试阶段使用!

跨域和Ajax说明

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

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
微信小程序请求地址封装一般有以下几种方式: 1. 直接使用原生的wx.request()方法,将请求地址直接写在其。这种方式比较简单,但是在多个地方都需要请求同一个地址时,会导致代码重复,不易维护。 2. 在app.js定义全局变量,存储请求地址,然后在需要发送请求的页面引入app.js,在请求时使用全局变量的地址。这种方式可以避免代码重复,但是在需要请求多个地址时,需要定义多个全局变量,会导致代码臃肿。 3. 封装一个工具类,将请求地址作为参数传入封装好的方法。这种方式可以解决以上两种方式的问题,可以在工具类定义多个请求地址,在需要发送请求时,只需要传入对应的地址即可。 下面是一个简单的请求地址封装示例: ```javascript // 工具类 request.js const BASE_URL = 'https://example.com/api/' function request(url, data, method = 'GET') { return new Promise((resolve, reject) => { wx.request({ url: BASE_URL + url, data, method, success: res => { resolve(res.data) }, fail: err => { reject(err) } }) }) } export default request ``` 使用时,在需要发送请求的页面引入request.js,然后调用封装好的request方法即可: ```javascript import request from './request.js' // 发送 GET 请求 request('users', { id: 1 }).then(res => { console.log(res) }) // 发送 POST 请求 request('users', { name: 'John' }, 'POST').then(res => { console.log(res) }) ``` 以上示例,BASE_URL为请求地址的公共部分,request方法接受三个参数,其url为请求地址的相对路径,data为请求参数,method为请求方法,默认为GET。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Warm wolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值