注冊

微信小程序API發(fā)起請求,wx.request發(fā)起請求

2017-12-22
導(dǎo)讀:wx.request(OBJECT) OBJECT參數(shù)說明: 參數(shù)名 類型 必填 說明 url String 是 開發(fā)者服務(wù)器接口地址 data Object、String 否 請求的參數(shù) header Object 否 設(shè)置請求的 header , header 中不能設(shè)置 Referer method...

wx.request(OBJECT)


OBJECT參數(shù)說明:

參數(shù)名 類型 必填 說明
url String 開發(fā)者服務(wù)器接口地址
data Object、String 請求的參數(shù)
header Object 設(shè)置請求的 header , header 中不能設(shè)置 Referer
method String 默認(rèn)為 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
dataType String 默認(rèn)為 json。如果設(shè)置了 dataType 為 json,則會嘗試對響應(yīng)的數(shù)據(jù)做一次 JSON.parse
success Function 收到開發(fā)者服務(wù)成功返回的回調(diào)函數(shù),res = {data: '開發(fā)者服務(wù)器返回的內(nèi)容'}
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

 

success返回參數(shù)說明:

參數(shù) 說明 最低版本
data 開發(fā)者服務(wù)器返回的數(shù)據(jù)  
statusCode 開發(fā)者服務(wù)器返回的狀態(tài)碼  
header 開發(fā)者服務(wù)器返回的 HTTP Response Header 1.2.0
data 數(shù)據(jù)說明 最終發(fā)送給服務(wù)器的數(shù)據(jù)是 String 類型,如果傳入的 data 不是 String 類型,會被轉(zhuǎn)換成 String 。轉(zhuǎn)換規(guī)則如下:
  • 對于 header['content-type'] 為 'application/json' 的數(shù)據(jù),會對數(shù)據(jù)進(jìn)行 JSON 序列化
  • 對于 header['content-type'] 為 'application/x-www-form-urlencoded' 的數(shù)據(jù),會將數(shù)據(jù)轉(zhuǎn)換成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)

示例代碼:

wx.request({
  url: 'test.php', //僅為示例,并非真實的接口地址
  data: {
     x: '' ,
     y: ''
  },
  header:{
      "Content-Type":"application/json"
  },
  success: function(res) {
     console.log(res.data)
  }
})

 

 

返回值:

基礎(chǔ)庫 1.4.0 開始支持,低版本需做兼容處理

返回一個requestTask對象,通過requestTask,可中斷請求任務(wù)。

requestTask 對象的方法列表:

方法 參數(shù) 說明 最低版本
abort   中斷請求任務(wù) 1.4.0

示例代碼:

const requestTask = wx.request({
  url: 'test.php', //僅為示例,并非真實的接口地址
  data: {
     x: '' ,
     y: ''
  },
  header: {
      'content-type': 'application/json'
  },
  success: function(res) {
    console.log(res.data)
  }
})

requestTask.abort() // 取消請求任務(wù)

Bug & Tip

  1. tip: content-type 默認(rèn)為 'application/json'
  2. bug: 開發(fā)者工具0.10.102800版本,headercontent-type設(shè)置異常;
  3. tip: 客戶端的 HTTPS TLS 版本為1.2,但Android的部分機型還未支持 TLS 1.2,所以請確保 HTTPS 服務(wù)器的 TLS 版本支持1.2及以下版本;
  4. tip: 要注意 method 的 value 必須為大寫(例如:GET);
  5. tip: url 中不能有端口;
  6. tip: request 的默認(rèn)超時時間和最大超時時間都是 60s
  7. tip: request 的最大并發(fā)數(shù)是 5
  8. tip: 網(wǎng)絡(luò)請求的 referer 是不可以設(shè)置的,格式固定為 https://servicewechat.com/{appid}/{version}/page-frame.html,其中{appid}為小程序的 appid,{version}為小程序的版本號,版本號為 0 表示為開發(fā)版。
 

 

更多微信小程序開發(fā)教程,可以關(guān)注hi小程序。
重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務(wù)常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)