微信小程序 wx.request(接口調(diào)用方式)詳解及實例
微信小程序 wx.request----接口調(diào)用方式
最近開發(fā)了一個微信小程序版的任務管理系統(tǒng),在向Java后臺發(fā)送接口時遇到了一些問題,在這里做一個簡單的總結(jié)。
官方接口
官方給出的接口叫做wx.request,請求方式比較簡單,下面是官網(wǎng)給出的請求實例。
wx.request({
url: 'test.php', //僅為示例,并非真實的接口地址
data: {
x: '' ,
y: ''
},
header: {
'content-type': 'application/json'
},
success: function(res) {
console.log(res.data)
}
})
存在的問題
wx.request請求的header中content-type默認為application/json,如果我們想換種方式比如用"application/x-www-form-urlencoded"會發(fā)現(xiàn)在請求頭信息中并沒有取代默認的application/json而是新增了這種方式,另外在用jquery.ajax請求時即便同樣使用application/json方式來請求,得到的數(shù)據(jù)格式也不相同,無論用什么請求方式ajax都會將請求數(shù)據(jù)轉(zhuǎn)換為&name1=value1&name2=value2的形式,這樣在根據(jù)content-type來解析請求數(shù)據(jù)時就會出現(xiàn)問題,不知道微信是有意這樣做還是它根本就是個bug??傊墙o我?guī)砹瞬槐匾穆闊?br />
微信小程序發(fā)送的是https請求,在本地調(diào)試時可以用http,如果放在手機上測試時校驗請求方式和域名,不合法會報以下錯誤:

為了方便請求,可以對wx.request做一個簡單的封裝,這樣我們再調(diào)用的時候就方便了許多,代碼如下:
var app = getApp();
function request(url,postData,doSuccess,doFail,doComplete){
var host = getApp().conf.host;
wx.request({
url: host+url,
data:postData,
method: 'POST',
success: function(res){
if(typeof doSuccess == "function"){
doSuccess(res);
}
},
fail: function() {
if(typeof doFail == "function"){
doFail();
}
},
complete: function() {
if(typeof doComplete == "function"){
doComplete();
}
}
});
}
}
module.exports.request = request;
如果一個接口在不同地方頻繁用到,原本設想寫一個函數(shù),然后將函數(shù)暴露供其他js調(diào)用,但后來發(fā)現(xiàn)wx.request中設置async是無效的,只能發(fā)異步請求,所以如果想寫一個函數(shù)來返回調(diào)用接口得到的數(shù)據(jù)就比較難實現(xiàn)。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
這篇文章主要介紹了Javascript基礎知識中關于內(nèi)置對象的相關知識的相關資料,需要的朋友可以參考下面小編薇大家?guī)淼木饰恼?/div> 2021-09-09
前端算法leetcode109題解有序鏈表轉(zhuǎn)換二叉搜索樹
這篇文章主要為大家介紹了前端算法leetcode109題解有序鏈表轉(zhuǎn)換二叉搜索樹示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
JavaScript前端學算法題解LeetCode最大重復子字符串
這篇文章主要為大家介紹了JavaScript前端學算法題解LeetCode最大重復子字符串,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
Three.js添加陰影和簡單后期處理實現(xiàn)示例詳解
這篇文章主要為大家介紹了Three.js添加陰影和簡單后期處理實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04
Qiankun Sentry 監(jiān)控異常上報無法自動區(qū)分項目解決
這篇文章主要為大家介紹了Qiankun Sentry 監(jiān)控異常上報無法自動區(qū)分項目解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11最新評論

