《微信小程序开发从入门到实战》学习六十八

6.6 网络API

6.6.1 网络API

使用wx.request接口可以发起网络请求。该接口接受一个Object参,参数支持属性如下所示:

url(必填):开发者服务器地址

data:请求的参数,类型为string/object/ArrayBuffer

header:设置请求的header。header不能设置Referer。

method:HTTP请求方法,支持OPTIONS/GET(默认值)/HEAD/POST/PUT/DELETE/TRACE/CONNECT

dataType:返回的数据格式,如设置为json,会对返回数据进行一次JSON.parse解析

responseType:响应的数据类型,支持text和Arraybuffer

success

fail

complete

data属性是最终发送给服务器的数据,如果传入的数据不是string类型,会先被转换为string类型,然后再发送。转换规则如下:

(1).对于GET方法,会将数据转换成query string

url?encodeURIComponent(key1)=encodeURIComponent(value1)&encodeURIComponent(key2)=encodeURIComponent(value2)...

(2).对于POST方法,当header['content-type']为application/x-www-form-urlencoded的数据,会将数据转换成query string

  当header['content-type']为application/json的数据,会对数据进行JSON序列化

        调用网络请求API,只要成功接收到服务器返回,就会进入success回调。success回调的Object参数支持三属性,data、statusCode和header。statucCode正常情况下该值为200,header为服务器返回的HTTP报文的头部。

        网络请求API会返回一个RequestTask对象,可以通过该对象,监听服务断返回Header的事件(比请求完成的回调事件更早),或中断网络请求,示例代码如下:

const requestTask = wx.request({

      url: 'https://somewebsite.com/test', // 仅为示例,并非真实的接口地址

      data: {

        x: '123',

        y: true

      },

      header: {

        'content-type': 'application/json' //默认值

      },

      success(res){

        if (res.statusCode === 200) {

          console.log(res.data)

        }

      }

    })

    //监听HTTP Response Header事件

    requestTask.onHeadersReceived(function(res){

      console.log(res.header) // 服务器返回的 HTTP Response Header,类型为Object

    })

    // 取消监听 HTTP Response Header 事件

    requestTask.offHeadersReceived()

    // 取消请求任务 

    requestTask.abort()

相关推荐

  1. 程序开发入门实战学习

    2024-01-01 11:12:02       39 阅读
  2. 程序开发入门实战学习

    2024-01-01 11:12:02       39 阅读
  3. 程序开发入门实战学习

    2024-01-01 11:12:02       30 阅读
  4. 程序开发入门实战学习

    2024-01-01 11:12:02       32 阅读
  5. 程序开发入门实战学习

    2024-01-01 11:12:02       26 阅读
  6. 程序开发入门实战学习

    2024-01-01 11:12:02       35 阅读
  7. 程序开发入门实战学习

    2024-01-01 11:12:02       47 阅读
  8. 程序开发入门实战学习

    2024-01-01 11:12:02       37 阅读
  9. 程序开发入门实战学习

    2024-01-01 11:12:02       39 阅读
  10. 程序开发入门实战学习

    2024-01-01 11:12:02       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-01 11:12:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-01 11:12:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-01 11:12:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-01 11:12:02       20 阅读

热门阅读

  1. React16源码: Component与PureComponent源码实现

    2024-01-01 11:12:02       32 阅读
  2. Vue Router的介绍与引入

    2024-01-01 11:12:02       43 阅读
  3. 机器视觉系统选型-选型示例分享

    2024-01-01 11:12:02       42 阅读
  4. 2023年终总结及计划

    2024-01-01 11:12:02       35 阅读
  5. Python高级数据类型

    2024-01-01 11:12:02       40 阅读
  6. 《Linux Nano命令详解:小而强大的文本编辑器》

    2024-01-01 11:12:02       45 阅读
  7. vue3 element plus el-table封装(二)

    2024-01-01 11:12:02       42 阅读
  8. Vue-Setup

    Vue-Setup

    2024-01-01 11:12:02      32 阅读
  9. 深入理解Vue.js 3的Reactive方法

    2024-01-01 11:12:02       40 阅读
  10. SpringBoot简单整合mybatis

    2024-01-01 11:12:02       32 阅读