微信小程序的请求数据方式
小程序端 | 云函数 | |
---|---|---|
发送方法 | wx.request({}) | 下载第三方ajax库(request) |
协议支持 | 只支持https | 根据第三方库决定 |
是否备案 | 经过ICP备案 | 可以不备案 |
域名个数 | 20个 | 无限制 |
开发云函数获取“豆瓣”电影列表
-创建云函数movielist3
-点击movielist3鼠标右键->打开终端
#注意下面命令有顺序
npm install --save request
npm install --save request-promise
#此次请求使用ajax库 request-promise
#上面库是request-promise依赖库
开发云函数
(1)引入request-promist库
var rp = require(“request-promise”)
(2)导出创建main函数
exports.main = async(event,context)=>{}
event:事件对象保存请求参数
context:上下文对象 用户openid appid
(3)创建url请求地址
var url = http://api..&start=${event.start}&count=${event.count}
(4)re(url) 返回查询结果
bilibli视频api
api.bilibili.cn/recommend?pagesize=10
//1.引入第三方的ajax库 request-promise
var rp = require("request-promise");
//2.创建main函数
exports.main = async(event,context)=>{
var url = `http://api.bilibili.cn/recommend?page=${event.page}&pagesize=${event.pagesize}`;
//3.创建变量url请求地址
//4.请求rp函数发送请求并将豆瓣返回电影列表返回调用者
return rp(url).then(res=>{
return res;
}).catch(err=>{
console.log(err);
})
}
调用云函数
wx.cloud.callFunction({
name:“云函数名”,
data:{i:1,j:2}
}).then(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
})
wx.cloud.callFunction({
name:"movielist3",
data:{
pagesize:5,
page:this.data.page
}
}).then(res=>{
// console.log(res)
var obj = JSON.parse(res.result);
var rows = obj.list;
rows = this.data.list.concat(rows);
var page = this.data.page + 1;
//保存视频列表
this.setData({
list:rows,
page:page
});
console.log(this.data.list)
console.log(this.data.page)
}).catch(err=>{
console.log(err)
})
小程序跳转
目标:从a组件(关闭并跳转)b组件
wx.redirectTo({
url:"/pages/b/b"
})
目标:从a组件(保留并跳转)b组件
wx.navigateTo({
url:"/pages/b/b"
})