注:小程序官方对数据接口的请求做出两个限制
- 只能请求 HTTPS 类型的接口
- 必须将接口的域名添加到信任列表中
配置 request 域名
- 进入微信小程序管理后台
- 开发
- 开发管理
- 服务器域名
- 修改 request 合法域名
注:
- 修改时末尾加 “;”
- 域名只支持 https 协议
- 域名不能使用 IP 地址或 localhost
- 域名必须经过 ICP 备案
跳过 request 合法域名校验
注:跳过 request 合法域名校验的选项,仅限在开发与调试阶段使用
发起请求
调用 wx.request(Object object) 方法,可以发起数据请求
object 的参数
- url 接口地址
- data 请求的参数
- header 设置请求的 header,header 中不能设置 Referer(content-type 默认为 application/json)
- method HTTP 的请求方法(默认 GET 请求)
- success 接口调用成功的回调函数
- fail 接口调用失败的回调函数
- complete 接口调用结束的回调函数(一定会执行)
const private_key = "c22d6670c27847f4939bbbb85014d9de";
const location = "101010100";
wx.request({
url: `https://devapi.qweather.com/v7/weather/now?key=${private_key}&location=${location}`, // 请求的接口地址,必须基于https协议
method: "GET", // 请求的方式
header: {}, // 头部信息
data: {}, // 发送的参数
success: (res) => { // 请求成功之后的回调函数
// console.log(res);
},
fail: (error) => { // 请求失败之后的回调函数
// console.log(error);
},
complete: () => {
// console.log("执行了complete");
}
})
},
跨域问题
跨域问题之存在与基于浏览器的 Web 开发中,由于小程序的宿主环境不是浏览器,而是微信客户端,所以小程序中不存在跨域问题