wx.request是微信小程序提供的一個基于Promise封裝的網絡請求API,可以用于發起HTTP/HTTPS請求。
使用wx.request需要傳入一個對象參數,該對象包含以下幾個屬性:- url:必填,請求的服務器地址。wx.request是微信小程序中非常常用的一個API,可以用于發起網絡請求,獲取服務器的數據。
– data:可選,請求的參數,可以是一個普通對象或字符串。
– header:可選,設置請求的header,header中不能設置Referer。
content-type需要通過header設置。
– method:可選,請求的方法,默認為GET,支持GET、OPTIONS、HEAD、POST、PUT、DELETE、TRACE、CONNECT。
– dataType:可選,返回的數據格式,默認為json,支持json、其他。
– responseType:可選,響應的數據類型,默認為text,支持text、arraybuffer。
– success:必填,接口調用成功的回調函數。
– fail:必填,接口調用失敗的回調函數。
– complete:可選,接口調用結束的回調函數(調用成功、失敗都會執行)。
以下是一個簡單的wx.request請求示例:“`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) }})“`在這個示例中,我們向`https://www.example.com`發起了一個GET請求,并且傳遞了一個參數對象`{ name: \’張三\’, age: 18 }`,設置了請求的header為`application/json`。
當請求成功后,我們會在控制臺打印出響應數據`res.data`,如果請求失敗,則會打印出錯誤信息`res`。
需要注意的是,由于小程序的限制,我們不能直接在header中設置Referer,如果需要設置Referer,可以通過在url中添加查詢參數的方式來實現,例如:“`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) }})“`除了簡單的GET請求外,wx.request還支持其他的請求方法,例如POST、PUT等。
例如,我們可以向服務器提交一個表單:“`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) }})“`在這個示例中,我們將請求方法設置為POST,并且傳遞了一個表單對象`{ name: \’張三\’, age: 18 }`。
此時,我們需要將header設置為`application/x-www-form-urlencoded`,以便服務器能夠正確地解析請求參數。
在使用wx.request時,需要注意設置請求的參數、header、回調函數等參數,以保證請求能夠成功發出,并且能夠正確地處理響應數據。