Explication détaillée et exemple de code d'encapsulation de requête http de l'applet WeChat

巴扎黑
Libérer: 2017-09-19 09:34:20
original
2006 Les gens l'ont consulté

Encapsulation de la requête http de l'applet WeChat

Exemple de code

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 );
  }
})
Copier après la connexion

Ce qui précède est le code de requête http de base de l'applet dans le code réel. , si chaque C'est relativement fastidieux d'écrire comme ça pour la première fois, alors faisons un peu d'encapsulation.

À quoi prêtons-nous le plus attention dans le code ?

1. Paramètres de requête, interface d'accès

2. Méthode de requête GET/POST

3. Paramètres...)

4. Données renvoyées avec succès (par exemple : décryptage, extraction des données de la couche logique)

5. Retour sur demande échouée

Ce que nous faisons. tu n'y fais pas attention ?

1. URL de la demande (configuration généralement corrigée quelque part)

2. Créez différents paramètres de requête en fonction de différentes règles d'interface (telles que le cryptage des paramètres, etc.)

.. .

Pratirons le code

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
}
Copier après la connexion

1 Appeler la page (prendre la requête GET comme exemple)

  //导入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 () {
     //失败后的逻辑


    },
  })
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!