Flask中獲取小程序Request數(shù)據(jù)的兩種方法
Flask中獲取小程序Request數(shù)據(jù)的兩種方法
作為后端對于前端確實(shí)諱莫如深,JS中的類型Object竟然不能直接通過POST傳入到后臺Flask中,您會發(fā)現(xiàn)獲取的是[object Object],這貨在Flask中只是個(gè)Str,哈哈...
于是,開始尋求解決方案:
方案一,通過GET或者POST傳參,將Object轉(zhuǎn)換為Str請求數(shù)據(jù):
1.在util.js中定義一個(gè)JS函數(shù):
function json2Form(json) {
var str = [];
for (var p in json) {
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(json[p]));
}
return str.join("&");
}
module.exports = {
json2Form: json2Form,
}
2.在相應(yīng)的頁面加載該函數(shù),并進(jìn)行調(diào)用:
var Util = require('../../../utils/util.js')
wx.request({
url: App.Config.post_Data,//自己的服務(wù)接口地址
method: 'POST',
header: {
'content-type': 'application/x-www-form-urlencoded'
},
data: { postdata:Util.json2Form(params)},//注意這里哈!
success: function (data) {console.log('已經(jīng)提交數(shù)據(jù)到數(shù)據(jù)庫')}
})
當(dāng)然,這里也可以也可以用你的URl+Util.json2Form(params),然后用GET請求。
3.Flask后臺獲取數(shù)據(jù):
postdata = request.values.get('postdata')方案二,通過POST傳參,將Object轉(zhuǎn)換為Json()格式:
1.小程序直接將請求數(shù)據(jù)轉(zhuǎn)換為Json格式:
wx.request({
url: App.Config.post_Data,
method: 'POST',
header: {
'content-type': 'application/x-www-form-urlencoded'
},
data: { postdata: JSON.stringify(params) },//注意這里哈!
success: function (data) {console.log('已經(jīng)提交數(shù)據(jù)到數(shù)據(jù)庫')}
})
2.Flask后臺處理:
postdata = request.values.get('postdata')
print (json.loads(postdata)) # 注意這里哈
postdata=json.loads(postdata)# 注意這里哈,變回DICT格式,親切ing
好啦,以后能用POST就用它獲取數(shù)據(jù)了,繼續(xù)Flask開發(fā)小程序的進(jìn)程?。?!
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
微信小程序報(bào)錯(cuò):this.setData is not a function的解決辦法
這篇文章主要介紹了微信小程序報(bào)錯(cuò):this.setData is not a function的解決辦法的相關(guān)資料,希望通過本文能幫助到大家解決這樣類似的問題,需要的朋友可以參考下2017-09-09
JavaScript?Promise實(shí)現(xiàn)異步并發(fā)任務(wù)控制器
這篇文章主要為大家介紹了JavaScript?Promise實(shí)現(xiàn)異步并發(fā)任務(wù)控制器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
微信小程序 es6-promise.js封裝請求與處理異步進(jìn)程
這篇文章主要介紹了微信小程序 es6-promise.js封裝請求與處理異步進(jìn)程的相關(guān)資料,需要的朋友可以參考下2017-06-06

