一、数据请求限制
出于安全性(bushi)考虑,小程序请求的数据接口必须具备以下两个条件:
①只能请求Https类型
②必须将接口域名添加到信任列表中
1.配置request合法域名
配置步骤如下:小程序管理后台->开发->开发设置->服务器域名->修改request合法域名
2.发起GET请求
调用wx.request()方法发起GET请求,代码如下:
wx.request({
url : 'https:', //请求地址
methond : 'GET', //请求方式
data:{ //需要发送的数据
name : 'Alice',
age : 22
},
success:(res) =>{ //回调函数
console.log(res)
}
})
3.发起POST请求
和GET请求一样,请求类型调整为POST即可。
wx.request({
url : 'https:', //请求地址
methond : 'POST', //请求方式
data:{ //需要发送的数据
name : 'Alice',
age : 22
},
success:(res) =>{ //回调函数
console.log(res)
}
})
二、本地调试
开发者在进行开发时,为了缩短开发进度可以使用http协议和本地IP进行调试,这里以小程序+flask服务器为例。(记得在项目中勾选“不校验合法域名”)
flask服务器的配置如下:
from flask import Flask #导入Flask包
from flask import request
app = Flask(__name__)
@app.route('/') #设置路由
def hello_world():
return "Hello World"
@app.route('/test',methods=['GET'])
def get():
page = request.args.get("page",default=1,type=int) #参数名,默认参数,参数类型
print('GET:{}'.format(page))
return "{}".format(page)
@app.route('/test',methods=['POST'])
def post():
if request.method == 'POST':
#从request获取查询参数
page = request.form['page']
print('POST:{}'.format(page))
return "{}".format(page)
if __name__ == "__main__": #启动程序
#app.run(host='你的IP',ssl_context='adhoc') #启用临时CA证书,但是不适用于小程序
app.run(host='你的IP')
#app.run()
IP地址为服务器所在的电脑的IP地址,可以在cmd中使用ipconfig指令查看。
小程序的get方法如下:
getTest(e){
const that = this
wx.request({
url:'IP地址和接口',
method:'GET',
data:{
page:10,
},
success(res) {
console.log(res.data);
that.setData({ PageX: res.data });
},
fail(res){
console.log(res)
}
});
},
效果如下:
同时服务器端也可以正常收到get