网络 API 类似于 ajax 向服务器请求网络地址,唯一不同的是这个请求有很多的规则,且必须向服务器上请求,不能在本地请求

  网络

    发送请求:

      wx.request()  发起https网络请求  参数:对象

      对象的属性:

        url:类型  字符串  开发者服务器的接口地址(且拥有诸多的限制,必须是https的网络请求)

        如图:

        

        如果我们没有合法的域名,也能进行测试:

          我们需要对调试基础库的选项进行打勾就好了

        data:类型  字符串/对象/数组/缓存  请求的参数

        header:类型  对象  请求设置的 header  (得到数据的返回值,默认是 json 格式,我们都知道在服务器请求到的数据都是字符串)  

        method:类型  字符串  请求的方式:

          属性值:options / get / head / post / put / delete / tract / connect  这是请求的方式

        dataType:类型  字符串  返回的数据格式

          属性值:json  会对返回的数据为 json,如果不是,会对返回的数据进行一次 JSON.parse()

              其他  不对返回的内容进行JSON.parse()

        responseType:类型  字符串  响应的数据类型

          属性值:text  响应的数据为 文本

              arraybuffer  响应的数据为 ArrayBuffer

        success:类型  函数  接口返回成功的回调函数  对象对象上拥有3个属性

          属性值:

            data:类型  字符串/对象/数组/缓存  开发者服务器返回的数据

            statusCode:类型  数字  开发者服务器返回的 http 码

            header:类型  对象  开发者服务器返回的 HTTP Response Header

    RequestTask  网络请求的任务对象(拥有属性和方法)

      RequestTask.abort()  中断请求的任务  直接执行

      RequestTask.onHeadersReceived()  监听 HTTP Response Header 事件,会比请求完成事件更早  参数:回调函数 (事件对象的 header 属性)返回值:开发者服务器返回 HTTP Response Header

      RequestTask.offHeadersReceived()  取消监听 HTTP Response Header 事件  参数:回调函数

    下载:

      wx.downloadFile()  下载文件资源到本地,客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径,单次下载允许的最大文件为 50 MB   参数:对象

              注意:请在服务端响应的 header 中指定合理的 Content-Type 字段,以保证客户端正确处理文件类型

      对象的属性:

        url:类型  字符串  下载资源的url

        header:类型  object  HTTP 请求的 Header,Header 中不能设置 Referer

        filePath:类型  字符串  指定文件下载后的储存路径

        success:类型  函数  接口调用成功后的回调函数  

          事件对象上的属性:

            tempFilePath:类型  字符串  临时文件的路径,没传入 filePath 指定文件储存路径时会返回,下载后的文件储存到一个临时文件

            filePath:类型  字符串  用户文件路径,传入 filePath 时会返回,跟传入的 filePath 一致

            statusCode:类型  数字  开发者服务器返回的 HTTP 状态码

    DownloadTask:一个可以监听下载进度变化事件,以及取消下载任务的对象 (拥有属性和方法)

      Download.abort()  中断下载任务

      DownloadTask.onProgressUpdate()  监听下载进度变化事件  参数:回调函数

        事件对象的属性:

          progress:下载进度百分比

          res.totalBytesWritten:已经下载的数据长度

          res.totalBytesExpectedToWrite:预期需要下载的数据总长度

    DownloadTask.offProquressUpdate()  取消监听下载进度变化事件  直接使用

    DownloadTask.onHeadersReceived()  监听 HTTP Response Header 事件,会比请求完成事件更早  参数:回调函数

    DownloadTask.offHeadersReceived()  取消监听 HTTP Response Header 事件

    上传:

      wx.uploadFile()  将本地资源上传到服务器,客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data。  参数:对象

      对象的属性:

        url:类型  字符串  开发者服务器地址

        filePath:类型  字符串  要上传的文件资源路径

        name:类型  字符串  文件对应的 key ,开发者可以通过 key 获取文件的二进制内容

        header:类型  对象  HTTP 请求 Header,Header 中不能设置 Referer

        formData:类型  对象  HTTP 请求中其他额外的 form data

        success:类型  函数  接口调用成功的回调函数  

          事件对对象上的属性

            data:类型  字符串  开发者服务器返回的数据

            statusCode:类型  数字  开发者服务器返回的 HTTP 状态码

      uploadTask:一个可以监听上传进度变化事件,以及取消上传任务的对象(拥有属性和方法)

      uploadTask.abort():中断上传任务

      UploadTask.onProgressUpdate():监听上传进度变化事件

        事件对象的属性

          progress:上传进度百分比

          totalBytesSent:已经上传的数据长度

          totalBytesExpectedToSend:预期需要上传的数据总长度

      UploadTask.offProgressUpdate():取消监听上传进度变化事件

      UploadTask.onHeadersReceived():监听 HTTP Response Header 事件,会比请求完成事件更早

      UploadTask.offHeadersReceived():取消监听 HTTP Response Header 事件

  WebSocket

    wx.sendSocketMessage():通过 WebSocket 连接发送数据,需要线 wx.connectSocker,并在 wx.onSocketOpen 回调之后才能发送   参数:对象

      对象的属性:

        data:类型  字符串/数组/缓存  需要发送的内容

    wx.onSocketOpen():监听 WebSocket 连接打开事件  参数:回调函数

      事件对象的属性:

        header:类型  对象  连接成功的 HTTP 响应 Header

    wx.onSocketMessage():监听 WebSocket 接受到服务器的消息事件  参数:回调函数

      事件对象:

        data:类型  对象/数组/缓冲  服务器返回的消息

    wx.onSocketError():监听 WebSocket 错误事件

    wx.connectSocket():创建一个 WebSocket 连接  参数:对象

      对象的属性:

        url:类型  字符串  (必填)  开发者服务器 wss 接口地址

        header:类型  对象  HTTP 请求 Header (注意:这个 Header 中不能设置 Referer)

        protocols:类型  数组  子协议数组

        tcpNoDelay:类型  布尔  建立 TCP 连接的时候 TCP_NODELAY 设置

    wx.closeSocket():关闭 WebSocket 连接  参数:对象

      对象的属性:

        code:类型  数字  一个数字表示关闭连接的状态号,表示被关闭的原因

        reason:类型  字符串  一个可读的字符串,表示被关闭的原因

    

    SocketTask:WebSocket 任务,可通过 wx.connectSocket() 接口创建返回的对象(拥有属性和方法)

    SocketTask.send():通过 WebSocket 连接发送数据

    SocketTask.close():关闭 WebSocket 连接

    SocketTask.onOpen():监听 WebSocket 连接打开事件

    SocketTask.onClose():监听 WebSocket 连接关闭事件

    SocketTask.onError():监听 WebSocket 错误事件

    SocketTask.onMessage():监听 WebSocket 接受到服务器的消息事件

  mDNS

    wx.stopLocalServiceDiscovery()  停止搜索 mDNS 服务  参数:对象

      对象的属性:

        success:类型  成功  参数:回调函数

        事件对象上的属性:

          errMsg:类型  字符串  

            属性值:task not found  在当前没有处在搜索服务中调用 stopLocalServiceDiscovery

    wx.startLocalServiceDiscovery()  开始搜索局域网下的 mDNS 服务,搜索的结果会通过 wx.onLocalService 事件返回  参数:对象

      对象的属性:

        serviceType:类型  字符串  要搜索的服务类型

        success:事件对象的属性:

          errMsg:类型  字符串  错误信息

            属性值:invalid param  serviceType 为空

                scan task already exist  当前 startLocalServiceDiscovery() 发起搜索未停止的情况下,在次调用 startLocalServiceDiscovery()

    wx.onLocalServiceResolveFail()  监听 mDNS 服务解析失败事件  参数:回调函数

      事件对象上的属性:serviceType:类型  字符串  服务的类型  

               serviceName:类型  字符串  服务的名字

    wx.onLocalServiceLost()  监听 mDNS 服务离开事件  参数:回调函数

      事件对象上的属性:serviceType:类型  字符串  服务的类型

               serviceName:类型  字符串  服务的名字

    wx.onLocalServiceFound()  监听 mDNS 服务发现的事件  参数:回调函数

      事件对象上的属性:serviceType:类型  字符串  服务的类型

               serviceName:类型  字符串  服务的名字

               ip:类型  字符串  服务器的 ip 地址

               port:类型  数字  服务器的端口

    wx.onLocalServiceDiscoveryStop()  监听 mDNS 服务停止搜索的事件  参数:回调函数

    wx.offLocalServiceResolveFail()  取消监听 mDNS 服务解析失败的事件  参数:回调函数

    wx.offLocalServiceLost()  取消监听 mDNS 服务离开的事件  参数:回调函数

    wx.offLocalServiceFound()  取消监听 mDNS 服务发现的事件  参数:回调函数

    wx.offLocalServiceDiscoveryStop()  取消监听 mDNS 服务停止搜索的事件  参数:回调函数

  UDP通信

    wx.createUDPSocket()  创建一个 UDP Socket 实例  返回值:一个UDP Socket 的实例对象

    UDPSocket  一个 UDP Socket 的 实例,默认使用 IPv4 协议 

    实例的方法:

      UDPSocker.bind()  绑定一个系统随机分配的可用端口

      UDPSocket.send()  向指定的 IP 和 port 发送消息

      UDPSocket.close()  关闭UDP Socket 实例,相当于销毁。在关闭之后,UDP Socket 实例不能在发送消息,每次调用 UDP Socket.send 将会触发错误事件,并且 message 事件回调函数也不会在执行。在UDP Socket 实例被创建后将被 Native 强引用,保证其不被GC。在UDPSocket.close 后将被解除对其的强引用,让 UDPSocket 实例遵从 GC。

      UDPSocket.onClose()  监听关闭事件  参数:回调函数

      UDPSocket.offClose()  取消监听关闭事件  参数:回调函数

      UDPSocket.onError()  监听错误事件

      UDPSocket.offError()  取消监听错误事件  

      UDPSocket.onListening()  监听开始监听数据包消息的事件

      UDPSocket.offListening()  取消监听开始监听数据包消息的事件

      UDPSocket.onMessage()  监听收到消息的事件

      UDPSocket.offMessage()  取消监听收到消息的事件

微信小程序 API 网络(ajax)的更多相关文章

  1. 微信小程序api拦截器

    微信小程序api拦截器 完美兼容原生小程序项目 完美兼用小程序api的原本调用方式,无痛迁移 小程序api全Promise化 和axios一样的请求方式 小程序api自定义拦截调用参数和返回结果 强大 ...

  2. 微信小程序 API

    微信小程序 API https://developers.weixin.qq.com/miniprogram/dev/component/cover-view.html demo https://de ...

  3. 微信小程序 API 基础

    其实还有一些组件,没有提,因为那些组件跟 API 的功能差不多,API 可能比他会更好一点: 具体可见官方文档 基础: 判断接口是否可用:wx.canIUse(a) a 代表:接口名字 返回值:布尔 ...

  4. 微信小程序的网络设置,及网络请求:wx.request(OBJECT)

    Md2All 一个Markdown在线转换工具 网址:http://md.aclickall.com 微信公众号:颜家大少本文所用排版工具:http://md.aclickall.com 支持通用的M ...

  5. 微信小程序的网络重试机制

    最近在开发微信小程序, 在测试时, 总能碰到一些诸如网络被打断啊之类的问题. 小程序是一款实时互动的小程序, 基于一系列原因, 没有使用Socket, 而是使用的是长链接. 所以对这类问题不能大意啊, ...

  6. 微信小程序API接口封装

    @ 目录 一,让我们看一下项目目录 二,让我们熟悉一下这三个文件目的(文件名你看着办) 三,页面js中如何使用 今天的API的封装,我们拿WX小程序开发中,对它的API (wx.request)对这个 ...

  7. 微信小程序 API 数据缓存

    微信小程序 数据缓存 (类似于 cookie) wx.setStorage() 将数据存储在本地缓存中制定的 key 中.会覆盖掉原来该 key 对应的内容,数据存储生命周期跟小程序本身一致,即除用户 ...

  8. 微信小程序API交互的自定义封装

    目录 1,起因 2,优化成果 3,实现思路 4,完整代码 1,起因 哪天,正在蚂蚁森林疯狂偷能量的我被boss叫过去,告知我司要做一个线上直播公开课功能的微信小程序,博主第一次写小程序,复习了下文档, ...

  9. 微信小程序API 文档快速参考索引

    内容那么多,这个页面到底做了什么? 第一:解决微信文档APi文档使用不便: 第二:解决了内容搜索与索引:—— 最好是写成全文索引文档,但是比较需要时间,而且更新是一件麻烦的事:所以以下是直接 连接官网 ...

随机推荐

  1. 09.AutoMapper 之自定义类型转换器(Custom Type Converters)

    https://www.jianshu.com/p/47054d92db2a 自定义类型转换器(Custom Type Converters) 有时需要完全控制一种类型到另一种类型的转换.这一般发生在 ...

  2. 阿里云云效平台使用——Windows上使用阿里云云效(RDC)Git拉取代码

    转载:https://blog.csdn.net/for_my_life/article/details/88700696 SSH key配置 1.首先从开始菜单里面打开刚刚安装完成的Git目录下Gi ...

  3. help_topic表,以字符拆分,一行转多行

      help_topic表是数据库mysql下的一个表        SUBSTRING_INDEX(s, delimiter, number)        返回从字符串 s 的第 number 个 ...

  4. openlayers之地图测距侧面

    项目背景vue-cli3.0 public下html需要引入文件 <link rel="stylesheet" href="<%= BASE_URL %> ...

  5. iptables - IP包过滤器管理

    总览 iptables -ADC 指定链的规则 [-A 添加 -D 删除 -C 修改] iptables - RI iptables -D chain rule num[option] iptable ...

  6. logstash操作

    1.安装 1>安装java 2> #wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.3.tar.gz#t ...

  7. PAT Basic 1033 旧键盘打字 (20 分)

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入 ...

  8. dataTable 、dataView、Dataset 区别

    dataTable .dataView.Dataset 区别的经典回答 1.DataView是DataTable的表示,DataTable表里的记录是没有顺序的,但显示可以有不同顺序(DataVIew ...

  9. UIWebView半透明设置

    在项目中有时候需要弹出活动弹框,由于原生的样式会固定,所以考虑h5显示,这就需要webView的背景色半透明,如图: 让 UIWebView 背景透明需要以下设置

webView.backgroun ...

  10. 【HDU1011】Starship Troopers

    题目大意:给定一棵 N 个节点的无根树,每个节点有一个重量和一个价值,现给出一些单位,每个单位可以接受 20 个重量单位,求如何分配这些单位,使得获得的价值最大. 题解:dp 好题qwq..真的毒瘤. ...