小程式提供了很多api,極大的方便了開發者,其中網路請求api是wx.request(object)
,這是小程式與開發者的伺服器實現資料互動的一個很重要的api。本文主要介紹了微信小程式使用request網路請求操作,結合實例形式分析了wx.request(object)網路請求操作的具體使用技巧,需要的朋友可以參考下,希望能幫助到大家。
官方參數說明如下
OBJECT參數說明:
#參數名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
url | String | 是 | |
data | Object、String | 否 | |
header | 否 | ||
method | #String | 否 | |
#success | Function | ||
#否 | 收到開發者服務成功回傳的回呼函數,res = {data: '開發者伺服器傳回的內容'} | ||
Function | #否 | 介面呼叫失敗的回調函數 |
#Function
介面呼叫結束的回呼函數(呼叫成功、失敗都會執行)
#最簡單的用法如下(以POST請求為範例)
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;">bindSearchChange:function(e){
var keyword = e.detail.value;
wx.request({
url:&#39;xxxxxxxxx&#39;,
data:{},
header: {&#39;Content-Type&#39;: &#39;application/json&#39;},
success: function(res) {
console.log(res)
}
})
}</pre><div class="contentsignin">登入後複製</div></div>
下面我們把請求寫在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) }); } })
以上是微信小程式request網路請求操作實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!