微信小程序的数据请求
一、常用的数据请求方式
- JS原生实现
第一种:
let xhr=new XMLHttpRequest()
xhr.open()
xhr.send()
第二种:fetch() 支持promise
fetch('接口地址')
.then(function(response) {
return response.json();
})
.then(function(myJson) {
console.log(myJson);
})
.catch(error=>{
})
例如:
fetch('https://api.it120.cc/hjl/shop/goods/category/all')
.then(res=>{
//console.log(res)
return res.json()
}).then(response=>{
console.log('返回的结果:',response)
})
详细参考fetch官方文档:https://developer.mozilla.org/zh-CN/docs/Web/API/Fetch_API/Using_Fetch
2.jQuery实现
$.ajax({
url:'xxx',
type:'',
success:function() {},
...
})
$.getJSON()
3.Vue常用的方式
axios
axios.get()
axios.post()
axios.delete()
axios.put()
强大的一点支持拦截器
4.微信小程序实现方式
(1)wx.request()
例如:
wx.request({
url: 'test.php', //仅为示例,并非真实的接口地址
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json' // 默认值
},
success (res) {
console.log(res.data)
}
})
注意:使用wx.request()请求注意事项
1.使用之前要提前配置合法域名或微信开发者工具-详情-本地设置-勾选不检验合法域名
2.请求的接口协议必须是https开头的,即加密协议
3.如果加载页面完成就请求数据,请求最好放在onShow生命周期中
浏览器与服务端交互流程
二、api工厂接口说明
1.api工厂官方地址:https://www.it120.cc/
2.api工厂前端接口地址:https://api.it120.cc/doc.html#/home
3.api工厂后台管理登录地址(若没有提前注册):https://admin.it120.cc/#/
postman:专业接口测试工具
公共域名+专有域名
公共域名:https://api.it120.cc
专属域名域名:hjl
https://api.it120.cc/hjl/
专有域名和商城数据都要通过API工厂后管理系统来设置:
https://admin.it120.cc/#/
专属域名设置:进行后台管理-首页-基本信息-专属域名
天使童装数据初始化:
后台管理-左侧菜单 “工厂设置” --> “数据克隆” --> “将别人的数据克隆给我”
对方商户ID填写 951
三、通过postman来测试接口,如下图:
四、小程序的接口封装
- 作用:方便统一管理项目接口,便于项目后期维护与管理
- 具体怎么实现封闭
1.集中管理项目中可能用到的公共url(线上url,测试url,本地url,...)
例如:
module.exports={
//线上地址
prod:{
baseUrl:'https://api.it120.cc'
},
//测试地址
test:{
baseUrl:'https://www.05E.com'
},
//本地地址
local:{
baseUrl:'https://www.local.com'
}
}
2.对wx.request进行二次封装,针对不同业务参数的传递,返回不同的请求结果
Promise() 主要用于解决回调地狱的一种异步方案
3.统一管理不同业务的接口