当前位置:Gxlcms > JavaScript > 微信小程序 http请求封装详解及实例代码

微信小程序 http请求封装详解及实例代码

时间:2021-07-01 10:21:17 帮助过:18人阅读

微信小程序  http请求封装

示例代码

  1. wx.request({
  2. url: 'test.php', //仅为示例,并非真实的接口地址
  3. data: {
  4. x: '' ,
  5. y: ''
  6. },
  7. method:'POST',
  8. header: {
  9. 'content-type': 'application/json'
  10. },
  11. success: function(res) {
  12. console.log(res.data)
  13. },
  14. fail: function( res ) {
  15. fail( res );
  16. }
  17. })

以上为小程序的基本http请求代码,实际代码中如果每次这样来写是比较繁琐的,那我们就来做一下封装。

那代码中我们比较关注什么?

1.请求的参数,访问的接口
2.GET/POST...请求方式
3.请求参数统一处理(比如:加密、设置公共参数...)
4.请求成功返回的数据(比如:解密、抽离逻辑层数据)
5.请求失败反馈

我们不关注什么?

1.请求url(一般固定的配置在某个地方)
2.根据不同的接口规则做不同的请求参数(比如:参数加密等)
...

让我们代码实操

network.js

  1. var API_URL = 'http://localhost/loverule/api/api.php'
  2. var requestHandler = {
  3. params:{},
  4. success: function(res){
  5. // success
  6. },
  7. fail: function() {
  8. // fail
  9. },
  10. }
  11. //GET请求
  12. function GET(requestHandler) {
  13. request('GET',requestHandler)
  14. }
  15. //POST请求
  16. function POST(requestHandler) {
  17. request('POST',requestHandler)
  18. }
  19. function request(method,requestHandler) {
  20. //注意:可以对params加密等处理
  21. var params = requestHandler.params;
  22. wx.request({
  23. url: API_URL,
  24. data: params,
  25. method: method, // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
  26. // header: {}, // 设置请求的 header
  27. success: function(res){
  28. //注意:可以对参数解密等处理
  29. requestHandler.success(res)
  30. },
  31. fail: function() {
  32. requestHandler.fail()
  33. },
  34. complete: function() {
  35. // complete
  36. }
  37. })
  38. }
  39. module.exports = {
  40. GET: GET,
  41. POST: POST
  42. }

1.页面中调用(以GET请求为例)

  1. //导入js
  2. var network = require("../../utils/network.js")
  3. //写入参数
  4. var params = new Object()
  5. params.api_name = "api_user_login"
  6. params.account = "hanqing"
  7. params.password = "123456"
  8. //发起请求
  9. network.GET(
  10. {
  11. params: params,
  12. success: function (res) {
  13. console.log(res)
  14. //拿到解密后的数据,进行代码逻辑
  15. },
  16. fail: function () {
  17. //失败后的逻辑
  18. },
  19. })

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

人气教程排行