最近在學習 慕課網(wǎng) Python Flask 構建微信小程序訂餐系統(tǒng),在 11-3 美食詳情和分享功能一節(jié)中后端 /member/share 收不到前端 POST 的數(shù)據(jù),被該問題卡了兩天,總算發(fā)現(xiàn)了原因所在,特此記錄下來,以供后來者查看。
樓主遇到該問題,剛開始以為是漏掉了視頻中某一關鍵點或者代碼編寫錯漏啥的,前前后后視頻又去看了好幾遍,一行一行的去比對代碼,可 TM 后端 /member/share 始終收不到前端 POST 的數(shù)據(jù),奇了怪了(抓狂啊~~~)。所以樓主照著這個思路去百度按照 “小程序轉發(fā)后端收不到 POST 的數(shù)據(jù)” 搜索答案,99%的答案都是說把
header: {'content-type': 'application/json'}
換成
header: {'content-type': 'application/x-www-form-urlencoded'}
,可是我的代碼里已經(jīng)是這個了,失敗!
于是乎樓主又接著搗鼓代碼,看看代碼都運行到了哪里?設置了打印數(shù)據(jù)
console.log("test111")
onShareAppMessage: function () {
var that = this;
console.log("test111")
return {
title: that.data.info.name,
path: '/pages/food/info?id=' + that.data.info.id,
success: function (res) {
console.log("test222")
// 轉發(fā)成功
wx.request({
url: app.buildUrl("/member/share"),
header: app.getRequestHeader(),
method: 'POST',
data: {
url: utils.getCurrentPageUrlWithArgs()
},
success: function (res) {
console.log("test333")
}
});
},
fail: function (res) {
// 轉發(fā)失敗
console.log("test444")
}
}
}
經(jīng)過測試發(fā)現(xiàn),Console 只能打印
console.log("test111")
,于是接著搜索 “onShareAppMessage 接收不到 POST 數(shù)據(jù)”,又過了很久很久,當看到某個帖子的答案時,樓主恍然大悟,發(fā)現(xiàn)問題所在了。“分享監(jiān)聽”能力調(diào)整官,不再支持分享回調(diào)參數(shù) success、fail、complete。至此問題找到了,目前也沒什么好的解決方案,我看別人的幾種思路:1.分享的回調(diào)是取消了,但可以通過 onShareAppMessage 設置個狀態(tài),獲取到是否分享操作(可以曲線拿到分享事件)。2.通過頁面切換出去分享到再次回到頁面的時間差大于2秒判定分享成功(不那么可靠,但有什么辦法呢)。
最后奉上我的代碼,在 onShareAppMessage 返回前發(fā)送 POST 請求到后端,目的就是處理分享數(shù)據(jù),其他的樓主暫時無能為力,姑且先放之:
onShareAppMessage: function () {
var that = this;
wx.request({
url: app.buildUrl("/member/share"),
header: app.getRequestHeader(),
method: "POST",
data: {
url: utils.getCurrentPageUrlWithArgs()
},
success: function (res) {
}
});
/*
小程序分享接口調(diào)整,不再支持分享回調(diào)參數(shù) success、fail、complete
https://developers.weixin.qq.com/community/develop/doc/000eacab888a20e8a2579099754401
*/
return {
title: that.data.info.name,
path: '/pages/food/info?id=' + that.data.info.id,
};
}
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
