最近看了一些微信小程序的教程,在微信小程序中我們用wx.request來請求數據。先簡單介紹一下wx.request API,因為獲取openId、sessionKey也需要用這個API。
wx.request就是ajax,與后臺交互請求數據,基礎參數和用法與jQuery的$.ajax方法類似。下面是官方文檔對wx.request基礎參數的說明:(圖片一上傳就模糊了,看不清楚 點擊這里 )
url和data用過$.ajax的都知道,url是你從后臺獲取數據的接口連接,data是你需要發送過去的數據,下面的案例也有說明;
header的默認是 ‘content-type’: ‘application/json’對數據進行 JSON 序列化,’application/x-www-form-urlencoded’是將數據轉換成 query string ;
其他的沒有什么好說明的,上面文檔已經說明的很詳細了。
下面我介紹一下怎么獲取openId和sessionKey:
App({
onLaunch: function() {
wx.login({ //微信登錄
success: function(res) { //登錄成功后執行的的函數
//發送 res.code 到后臺換取 openId, sessionKey
if (res.code) {
//發起網絡請求
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session',//這是固定的就是這個地址
data: {
appid:'AppID',//小程序的ID
secret:'AppSecret',//小程序的密鑰
js_code:res.code,
grant_type:'authorization_code'
},
method: 'POST',
header:{
'content-type': 'application/json' // 默認值
},
success: function(res) {
console.log(res.data.openId)//openId
console.log(res.data.session_key)//sessionKey
},
fail: function(res) {
console.log('獲取openId、sessionKey失??!' + res.errMsg)
}
})
} else {
console.log('獲取用戶登錄態失敗!' + res.errMsg)
}
}
});
}
})