WeChatミニプログラムhttpリクエストのカプセル化
サンプルコード
wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '' , y: '' }, method:'POST', header: { 'content-type': 'application/json' }, success: function(res) { console.log(res.data) }, fail: function( res ) { fail( res ); } })
上記はミニプログラムの基本的なhttpリクエストコードです。実際のコードでは、毎回このように書くのが面倒な場合は、次のようにします。カプセル化を行います。
コードの中でもっと注意を払うべき点は何でしょうか?
1. リクエストパラメータ、アクセスインターフェース
2. GET/POST...リクエストメソッド
3. リクエストパラメータの統合処理(暗号化、パブリックパラメータの設定など)
4.成功したデータ (例: 復号化、論理層データの抽出)
5. 失敗のフィードバックを要求する
注意を払わないことは何ですか?
1. リクエスト URL (通常はどこかに固定された設定)
2. 異なるインターフェイス ルール (パラメータの暗号化など) に従って異なるリクエスト パラメータを作成する
...
コードを練習しましょう
network.js
var API_URL = 'http://localhost/loverule/api/api.php' var requestHandler = { params:{}, success: function(res){ // success }, fail: function() { // fail }, } //GET请求 function GET(requestHandler) { request('GET',requestHandler) } //POST请求 function POST(requestHandler) { request('POST',requestHandler) } function request(method,requestHandler) { //注意:可以对params加密等处理 var params = requestHandler.params; wx.request({ url: API_URL, data: params, method: method, // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT // header: {}, // 设置请求的 header success: function(res){ //注意:可以对参数解密等处理 requestHandler.success(res) }, fail: function() { requestHandler.fail() }, complete: function() { // complete } }) } module.exports = { GET: GET, POST: POST }
1. ページ内で呼び出されます (例として GET リクエストを取り上げます)
//导入js var network = require("../../utils/network.js") //写入参数 var params = new Object() params.api_name = "api_user_login" params.account = "hanqing" params.password = "123456" //发起请求 network.GET( { params: params, success: function (res) { console.log(res) //拿到解密后的数据,进行代码逻辑 }, fail: function () { //失败后的逻辑 }, })
以上がWeChat アプレットの http リクエストのカプセル化の詳細な説明とサンプル コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。