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