微信小程式request網路請求操作實例詳解

小云云
發布: 2017-12-18 09:26:03
原創
2009 人瀏覽過

小程式提供了很多api,極大的方便了開發者,其中網路請求api是wx.request(object),這是小程式與開發者的伺服器實現資料互動的一個很重要的api。本文主要介紹了微信小程式使用request網路請求操作,結合實例形式分析了wx.request(object)網路請求操作的具體使用技巧,需要的朋友可以參考下,希望能幫助到大家。

官方參數說明如下

OBJECT參數說明:

開發者伺服器介面位址#請求的參數設定請求的header , header 中不能設定Referer#預設為GET,有效值:OPTIONS, GET, HEAD, POST, PUT , DELETE, TRACE, CONNECT#否收到開發者服務成功回傳的回呼函數,res = {data: '開發者伺服器傳回的內容'}failFunction#否介面呼叫失敗的回調函數complete
#參數名稱 類型 必填 說明
url String
data Object、String
header
method #String
#success 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:&amp;#39;xxxxxxxxx&amp;#39;, data:{}, header: {&amp;#39;Content-Type&amp;#39;: &amp;#39;application/json&amp;#39;}, success: function(res) { console.log(res) } }) }</pre><div class="contentsignin">登入後複製</div></div>下面我們把請求寫在service檔案下的http.js檔案中,程式碼如下


##

var rootDocment = &#39;hxxxxx&#39;;//你的域名
function req(url,data,cb){
 wx.request({
 url: rootDocment + url,
 data: data,
 method: &#39;post&#39;,
 header: {&#39;Content-Type&#39;: &#39;application/json&#39;},
 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(&#39;service/http.js&#39;)
App({
 onLaunch: function () {
 //调用API从本地缓存中获取数据
 var logs = wx.getStorageSync(&#39;logs&#39;) || []
 logs.unshift(Date.now())
 wx.setStorageSync(&#39;logs&#39;, 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(&#39;/api/get_data&#39;,{},function(res){
 console.log(res)
 });
 }
})
登入後複製

微信小程式提供了很多api,包括網絡,媒體,數據等,也提供了很多組件,使開發小程式變得很方便。 ######相關推薦:#########微信小程式功能函數小結#############實作微信小程式新增手機聯絡人功能教學#### ########微信小程式顯示下拉清單功能的實作方法#######

以上是微信小程式request網路請求操作實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板