wx.request是微信小程序提供的一個(gè)基于Promise封裝的網(wǎng)絡(luò)請(qǐng)求API,可以用于發(fā)起HTTP/HTTPS請(qǐng)求。
使用wx.request需要傳入一個(gè)對(duì)象參數(shù),該對(duì)象包含以下幾個(gè)屬性:- url:必填,請(qǐng)求的服務(wù)器地址。wx.request是微信小程序中非常常用的一個(gè)API,可以用于發(fā)起網(wǎng)絡(luò)請(qǐng)求,獲取服務(wù)器的數(shù)據(jù)。

– data:可選,請(qǐng)求的參數(shù),可以是一個(gè)普通對(duì)象或字符串。
– header:可選,設(shè)置請(qǐng)求的header,header中不能設(shè)置Referer。
content-type需要通過header設(shè)置。
– method:可選,請(qǐng)求的方法,默認(rèn)為GET,支持GET、OPTIONS、HEAD、POST、PUT、DELETE、TRACE、CONNECT。
– dataType:可選,返回的數(shù)據(jù)格式,默認(rèn)為json,支持json、其他。
– responseType:可選,響應(yīng)的數(shù)據(jù)類型,默認(rèn)為text,支持text、arraybuffer。
– success:必填,接口調(diào)用成功的回調(diào)函數(shù)。
– fail:必填,接口調(diào)用失敗的回調(diào)函數(shù)。
– complete:可選,接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)。
以下是一個(gè)簡(jiǎn)單的wx.request請(qǐng)求示例:“`wx.request({ url: \’https://www.example.com\’, method: \’GET\’, data: { name: \’張三\’, age: 18 }, header: { \’content-type\’: \’application/json\’ }, success: function(res) { console.log(res.data) }, fail: function(res) { console.log(res) }})“`在這個(gè)示例中,我們向`https://www.example.com`發(fā)起了一個(gè)GET請(qǐng)求,并且傳遞了一個(gè)參數(shù)對(duì)象`{ name: \’張三\’, age: 18 }`,設(shè)置了請(qǐng)求的header為`application/json`。
當(dāng)請(qǐng)求成功后,我們會(huì)在控制臺(tái)打印出響應(yīng)數(shù)據(jù)`res.data`,如果請(qǐng)求失敗,則會(huì)打印出錯(cuò)誤信息`res`。
需要注意的是,由于小程序的限制,我們不能直接在header中設(shè)置Referer,如果需要設(shè)置Referer,可以通過在url中添加查詢參數(shù)的方式來實(shí)現(xiàn),例如:“`wx.request({ url: \’https://www.example.com?a=1&referer=https://www.example.com/\’, method: \’GET\’, header: { \’content-type\’: \’application/json\’ }, success: function(res) { console.log(res.data) }, fail: function(res) { console.log(res) }})“`除了簡(jiǎn)單的GET請(qǐng)求外,wx.request還支持其他的請(qǐng)求方法,例如POST、PUT等。
例如,我們可以向服務(wù)器提交一個(gè)表單:“`wx.request({ url: \’https://www.example.com\’, method: \’POST\’, data: { name: \’張三\’, age: 18 }, header: { \’content-type\’: \’application/x-www-form-urlencoded\’ }, success: function(res) { console.log(res.data) }, fail: function(res) { console.log(res) }})“`在這個(gè)示例中,我們將請(qǐng)求方法設(shè)置為POST,并且傳遞了一個(gè)表單對(duì)象`{ name: \’張三\’, age: 18 }`。
此時(shí),我們需要將header設(shè)置為`application/x-www-form-urlencoded`,以便服務(wù)器能夠正確地解析請(qǐng)求參數(shù)。
在使用wx.request時(shí),需要注意設(shè)置請(qǐng)求的參數(shù)、header、回調(diào)函數(shù)等參數(shù),以保證請(qǐng)求能夠成功發(fā)出,并且能夠正確地處理響應(yīng)數(shù)據(jù)。