微信小程序的js后臺(tái)只能執(zhí)行一些簡(jiǎn)單的邏輯,遇到比較復(fù)雜的處理表單數(shù)據(jù)的功能或者網(wǎng)絡(luò)功能就需要連接服務(wù)器來遠(yuǎn)程處理,實(shí)現(xiàn)方式就是調(diào)用小程序的 wx.request() 這一接口。
站在用戶的角度思考問題,與客戶深入溝通,找到富錦網(wǎng)站設(shè)計(jì)與富錦網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋富錦地區(qū)。
request請(qǐng)求 就是基本的HTTP請(qǐng)求,可以攜帶一些表單數(shù)據(jù),交給服務(wù)器處理。
在小程序中的寫法如下:
采用php作為服務(wù)器端語言,通過WAMP等框架可以很容易地搭建環(huán)境,服務(wù)器主要完成對(duì)請(qǐng)求數(shù)據(jù)的處理以及結(jié)果數(shù)據(jù)的返回。
請(qǐng)求數(shù)據(jù)的獲取非常容易,直接訪問相應(yīng)的超全局?jǐn)?shù)組,對(duì)于GET方法而言,通過下面的方式即可:
為了方便小程序端數(shù)據(jù)的處理,結(jié)果數(shù)據(jù)仍通過json格式返回,具體在php中的簡(jiǎn)單做法就是
這樣返回的json數(shù)據(jù)就為
其中value1,value2等變量可以設(shè)置為多維數(shù)組,這樣通過json_encode() 函數(shù)之后就可以得到相應(yīng)的嵌套的json數(shù)據(jù),從而方便處理。
通過php可以很容易地處理微信小程序的request請(qǐng)求,筆者是由于前一段時(shí)間需要進(jìn)行微信小程序的開發(fā),就研究了一下小程序的邏輯,然后嘗試用php進(jìn)行服務(wù)端處理,對(duì)于簡(jiǎn)單的請(qǐng)求處理起來覺得還不錯(cuò),這篇文章可以作為初次接觸微信小程序的一個(gè)參考。
第一步:申請(qǐng)域名備案
第二步:購買SSL證書 小程序只認(rèn)https 部署你的項(xiàng)目
第三步:申請(qǐng)小程序 添加域名
第四步:下載小程序工具(微信web開發(fā)工具)
第五步:修改小程序dome 把WXML里面改成web-view src="https://你的地址"/web-view
第六步:需要調(diào)用某些api 繼續(xù)改你的html/php代碼
第7步:點(diǎn)擊工具上傳,微信后臺(tái)提交審核
wx.request({
url: '',
header: {
"Content-Type": "application/x-www-form-urlencoded"
},
method: "POST",
data: { mobile: e.detail.value.mobile, password: e.detail.value.password },
success: function (res) {
if (res.data.status == 0) {
wx.showToast({
title: res.data.info,
icon: 'loading',
duration: 1500
})
} else {
wx.showToast({
title: res.data.info,//這里打印出登錄成功
icon: 'success',
duration: 1000
})
}
},
fail: function () {
wx.showToast({
title: '服務(wù)器網(wǎng)絡(luò)錯(cuò)誤!',
icon: 'loading',
duration: 1500
})
}
})
這種情況發(fā)生在以UTF-8編碼格式傳輸數(shù)據(jù)的時(shí)候,這開頭的三個(gè)字節(jié)叫做BOM(Byte Order Mark,字節(jié)順序標(biāo)記),小程序接收到php端返回的數(shù)據(jù)后,把開頭的三個(gè)字節(jié)去掉即可。
更徹底的解決辦法是把php文件保存為?不帶BOM的UTF-8?文件,這樣返回的數(shù)據(jù)就不帶BOM了