|
導讀微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一... 微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一項門檻非常高的創新,經過將近兩年的發展,已經構造了新的小程序開發環境和開發者生態。 這篇文章主要介紹了微信小程序 wx.request(接口調用方式)詳解及實例的相關資料,wx.request請求方式比較簡單,但是在使用的時候出現錯,這里就記錄下,需要的朋友可以參考下微信小程序 wx.request----接口調用方式 最近開發了一個微信小程序版的任務管理系統,在向Java后臺發送接口時遇到了一些問題,在這里做一個簡單的總結。 官方接口 官方給出的接口叫做wx.request,請求方式比較簡單,下面是官網給出的請求實例。 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"會發現在請求頭信息中并沒有取代默認的application/json而是新增了這種方式,另外在用jquery.ajax請求時即便同樣使用application/json方式來請求,得到的數據格式也不相同,無論用什么請求方式ajax都會將請求數據轉換為&name1=value1&name2=value2的形式,這樣在根據content-type來解析請求數據時就會出現問題,不知道微信是有意這樣做還是它根本就是個bug。總之是給我帶來了不必要的麻煩。 微信小程序發送的是https請求,在本地調試時可以用http,如果放在手機上測試時校驗請求方式和域名,不合法會報以下錯誤:
為了方便請求,可以對wx.request做一個簡單的封裝,這樣我們再調用的時候就方便了許多,代碼如下: 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;如果一個接口在不同地方頻繁用到,原本設想寫一個函數,然后將函數暴露供其他js調用,但后來發現wx.request中設置async是無效的,只能發異步請求,所以如果想寫一個函數來返回調用接口得到的數據就比較難實現。 以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網! 相關推薦: 微信小程序開發之animation循環動畫實現讓云朵飄的效果 以上就是微信小程序 wx.request的分析的詳細內容,更多請關注php中文網其它相關文章! 小程序是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應用。 |
溫馨提示:喜歡本站的話,請收藏一下本站!