微信小程序request网络请求操作实例详解

互联网 17-12-18
小程序提供了很多api,极大的方便了开发者,其中网络请求api是wx.request(object),这是小程序与开发者的服务器实现数据交互的一个很重要的api。本文主要介绍了微信小程序使用request网络请求操作,结合实例形式分析了wx.request(object)网络请求操作的具体使用技巧,需要的朋友可以参考下,希望能帮助到大家。

官方参数说明如下

OBJECT参数说明:

参数名类型必填说明
urlString开发者服务器接口地址
dataObject、String请求的参数
headerObject设置请求的 header , header 中不能设置 Referer
methodString默认为 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
successFunction收到开发者服务成功返回的回调函数,res = {data: '开发者服务器返回的内容'}
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

最简单的用法如下(以POST请求为例)

bindSearchChange:function(e){   var keyword = e.detail.value;   wx.request({   url:'xxxxxxxxx',   data:{},   header: {'Content-Type': 'application/json'},   success: function(res) {   console.log(res)   }   })  }

下面我们把请求写在service文件下的http.js文件中,代码如下

var rootDocment = 'hxxxxx';//你的域名  function req(url,data,cb){   wx.request({   url: rootDocment + url,   data: data,   method: 'post',   header: {'Content-Type': 'application/json'},   success: function(res){   return typeof cb == "function" && cb(res.data)   },   fail: function(){   return typeof cb == "function" && cb(false)   }   })  }  module.exports = {   req: req  }

其中module.exports是将req方法暴露出去使得别的文件中可以使用该方法,由于js函数是异步执行的,所以return 的是回调函数,而不是具体的数据

为了其他文件方便调用此方法,我们在根目录的app.js文件中将其注册成为全局函数,如下

//app.js  var http = require('service/http.js')  App({   onLaunch: function () {   //调用API从本地缓存中获取数据   var logs = wx.getStorageSync('logs') || []   logs.unshift(Date.now())   wx.setStorageSync('logs', logs)   },   getUserInfo:function(cb){   var that = this   if(this.globalData.userInfo){   typeof cb == "function" && cb(this.globalData.userInfo)   }else{   //调用登录接口   wx.login({   success: function () {    wx.getUserInfo({    success: function (res) {    that.globalData.userInfo = res.userInfo    typeof cb == "function" && cb(that.globalData.userInfo)    }    })   }   })   }   },   globalData:{   userInfo:null   },   func:{   req:http.req   }  })

这时这个req就是全局的了,在调用时我们可以使用getApp.func.req()来调用,具体如下

var app = getApp()  Page({   data: {   },   onLoad: function (opt) {   //console.log(opt.name)   app.func.req('/api/get_data',{},function(res){   console.log(res)   });   }  })

微信小程序提供了很多api,包括网络,媒体,数据等,也提供了很多组件,使开发小程序变得很方便。

相关推荐:

微信小程序功能函数小结

实现微信小程序添加手机联系人功能教程

微信小程序显示下拉列表功能的实现方法

以上就是微信小程序request网络请求操作实例详解的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 操作
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:详解自定义PC微信扫码登录样式

相关资讯