版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
关于微信小程序的wx.request请求
wx.request(Object object)用于发起 HTTPS 网络请求:
参数
method请求方法
可取值:OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT
常用的基本就GET,POST,PUT,DELETE、
首先了解一下http请求:
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
GET | 发送一个请求来取得服务器上的某一资源。 |
---|---|
HEAD | 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头 |
POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 |
PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
DELETE | 请求服务器删除指定的页面。 |
CONNECT | HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。 |
OPTIONS | 允许客户端查看服务器的性能。 |
TRACE | 回显服务器收到的请求,主要用于测试或诊断。 |
PATCH | 是对 PUT 方法的补充,用来对已知资源进行局部更新 。 |
目前小程序官方文档给出的除了PATCH以外其他都是支持的,共8种
返回的数据格式dataType的合法值:
1.json(返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse)
2.其他 原样返回数据
响应的数据类型responseType 的合法值:
1. text 响应的数据为文本
2. arraybuffer 响应的数据为 ArrayBuffer
ArrayBuffer:类型化数组,数组里面可以放数字、字符串、布尔值以及对象和数组等,ArrayBuffer放0和1组成的二进制数据
success请求成功的回调函数:
参数res,包含data开发者服务器返回的数据(string/Object/Arraybuffer),
statusCode(number)开发者服务器返回的 HTTP 状态码,header开发者服务器返回的 HTTP Response Header
tips:
最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下:
• 对于 GET 方法的数据,会将数据转换成 query string(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)
• 对于 POST 方法且 header['content-type'] 为 application/json 的数据,会对数据进行 JSON 序列化
• 对于 POST 方法且 header['content-type'] 为 application/x-www-form-urlencoded 的数据,会将数据转换成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)