最近在做一個教育的在線發布系統,打算用微信小程序做前端,后端用php的CI框架,這兩天把CI框架的基本功能已經啃完,因為手冊比較完善,所以按照邏輯走一邊就通了。
反觀微信小程序,幫助代碼不多,對於一些沒接觸過前端和js開發的新手來說,很多流程和細節都會拿不准。
1、這兩天遇到最大的困擾就是wx.request組件如何從php服務器端取回數據並顯示在小程序界面上,這里涉及到一個通信,
因為小程序目前的機構和框架都是基於ajax異步交互的基礎上的,所以要懂得小程序的數據讀寫功能,首先要了解ajax的xmlhttprequest對象,
而小程序的request是在xmlhttprequest基礎上的再次封裝,原理其實是一樣的,但是小程序對於服務器端的通信更為嚴格。
2、
wx.request(OBJECT)
wx.request
發起的是 HTTPS 請求。
OBJECT參數說明:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
url | String | 是 | 開發者服務器接口地址 |
data | Object、String | 否 | 請求的參數 |
header | Object | 否 | 設置請求的 header , header 中不能設置 Referer |
method | String | 否 | 默認為 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT |
dataType | String | 否 | 默認為 json。如果設置了 dataType 為 json,則會嘗試對響應的數據做一次 JSON.parse |
success | Function | 否 | 收到開發者服務成功返回的回調函數,res = {data: '開發者服務器返回的內容'} |
fail | Function | 否 | 接口調用失敗的回調函數 |
complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
注意:request的url參數必須是https格式的地址,不然服務器端無法返回數據,但是對於本地的開發者而言,配置https安全鏈接有些麻煩,
小程序開發工具提供了本地的開發方案,http方式的地址也可以對服務器端進行交互,前提是在開發工具里做好初始化設置。我之前一直以為是代碼問題,
后來在開發工具項目窗口中把開發環境中不校驗請求域名這個選項勾選就可以實現http方式的服務器端通信。
勾選紅線圈好的選項,就可以在開發工具上采用http的方式讓request對服務器端資源進行訪問和交互。
3、另外一個比較繁雜的工作就是從服務器端返回的json數據如何組裝,傳到小程序端,如何解封,拆裝的問題,不過這個之前的許多前端框架都有非常成熟的解決方案,
類似react,jquery,vue,extjs等等。小程序也只是一種js前端的替代方案,通信方式和數據訪問都一樣,因為有這么多前端的優秀開源框架做支撐,
小程序的未來肯定會越來越好。因為之前的js框架都只是停留在微服務器端做展示,沒有充分考慮用戶的使用場景,隨着線下場景的不斷豐富,
每種場景下一一對應的小程序必然會涌現出來。我感覺小程序是程序員和產品經理創業的最好機會。