微信小程序 http请求封装详解及实例代码
程序员文章站
2023-11-22 16:14:58
微信小程序 http请求封装
示例代码
wx.request({
url: 'test.php', //仅为示例,并非真实的接口地址
d...
微信小程序 http请求封装
示例代码
wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '' , y: '' }, method:'post', header: { 'content-type': 'application/json' }, success: function(res) { console.log(res.data) }, fail: function( res ) { fail( res ); } })
以上为小程序的基本http请求代码,实际代码中如果每次这样来写是比较繁琐的,那我们就来做一下封装。
那代码中我们比较关注什么?
1.请求的参数,访问的接口
2.get/post...请求方式
3.请求参数统一处理(比如:加密、设置公共参数...)
4.请求成功返回的数据(比如:解密、抽离逻辑层数据)
5.请求失败反馈
我们不关注什么?
1.请求url(一般固定的配置在某个地方)
2.根据不同的接口规则做不同的请求参数(比如:参数加密等)
...
让我们代码实操
network.js
var api_url = 'http://localhost/loverule/api/api.php' var requesthandler = { params:{}, success: function(res){ // success }, fail: function() { // fail }, } //get请求 function get(requesthandler) { request('get',requesthandler) } //post请求 function post(requesthandler) { request('post',requesthandler) } function request(method,requesthandler) { //注意:可以对params加密等处理 var params = requesthandler.params; wx.request({ url: api_url, data: params, method: method, // options, get, head, post, put, delete, trace, connect // header: {}, // 设置请求的 header success: function(res){ //注意:可以对参数解密等处理 requesthandler.success(res) }, fail: function() { requesthandler.fail() }, complete: function() { // complete } }) } module.exports = { get: get, post: post }
1.页面中调用(以get请求为例)
//导入js var network = require("../../utils/network.js") //写入参数 var params = new object() params.api_name = "api_user_login" params.account = "hanqing" params.password = "123456" //发起请求 network.get( { params: params, success: function (res) { console.log(res) //拿到解密后的数据,进行代码逻辑 }, fail: function () { //失败后的逻辑 }, })
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!