>  기사  >  위챗 애플릿  >  WeChat 애플릿의 http 요청 캡슐화에 대한 자세한 설명

WeChat 애플릿의 http 요청 캡슐화에 대한 자세한 설명

PHPz
PHPz원래의
2017-04-02 14:49:322481검색

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
}

페이지 호출(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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.