小程序开发API之网络请求wx.reques、RequestTask网络请求任务对象及监听取消网络请求
wx.request(Object object)
发起 HTTPS 网络请求。使用前请阅读 网络的使用及注意事项
wx.request参数![](/assets/blank.gif)
object.method 的合法值
object.dataType 的合法值![](/assets/blank.gif)
object.responseType 的合法值![](/assets/blank.gif)
Object res![](/assets/blank.gif)
data 参数说明
最终发送给服务器的数据是 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)...)
注:header 中 content-type 默认为 application/json
'application/json' 发送给服务器的数据,会对数据进行JSON序列化
header: {'content-type': 'application/json' // 默认值
},
"application/x-www-form-urlencoded" 发送给服务器的数据,会将数据转化成query string,在浏览器network里参数会放到Form Data里
header: {'content-type': 'application/x-www-form-urlencoded'
},
两种的却别在于区别于服务器是怎么解析数据的。
通常http的header()
header()函数的作用是:发送一个原始 HTTP 标头[Http Header]到客户端。
标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔。在 PHP 中送回 HTML 资料前,需先传完所有的标头。
常用header汇总:
header(‘Content-Type: text/html; charset=utf-8’); //网页编码
header(‘Content-Type: text/plain’); //纯文本格式
header(‘Content-Type: image/jpeg’); //JPG、JPEG
header(‘Content-Type: application/zip’); // ZIP文件
header(‘Content-Type: application/pdf’); // PDF文件
header(‘Content-Type: audio/mpeg’); // 音频文件
header(‘Content-type: text/css’); //css文件
header(‘Content-type: text/javascript’); //js文件
header(‘Content-type: application/json’); //json
header(‘Content-type: application/pdf’); //pdf
header(‘Content-type: text/xml’); //xml
header(‘Content-Type: application/x-shockw**e-flash’); //Flash动画
示例:
/*url 开发者服务器接口地址data 请求的参数header 中不能设置 Referer。content-type 默认为 application/jsonmethod:GET HTTP 请求方法dataType:json 返回的数据格式responseType:text 响应的数据类型 success 接口调用成功的回调函数data string/Object/Arraybuffer 开发者服务器返回的数据statusCode number 开发者服务器返回的 HTTP 状态码header Object 开发者服务器返回的 HTTP Response Headerfail 接口调用失败的回调函数complete 接口调用结束的回调函数(调用成功、失败都会执行)*/
Page({data: {},onLoad: function (options) {wx.request({url: 'https//www.test.php', // 仅为示例,并非真实的接口地址data: {x: '',y: ''},method: 'POST',header: {'content-type': 'application/json' // 默认值},success: function(res) {console.log(res.data)},fail: function (err) {},complete: function () {}})}
})
RequestTask
网络请求任务对象
方法
RequestTask.abort()
中断请求任务
RequestTask.onHeadersReceived(function callback)
监听 HTTP Response Header 事件。会比请求完成事件更早
RequestTask.offHeadersReceived(function callback)
取消监听 HTTP Response Header 事件
示例:
Page({data: {},onLoad: function (options) {const requestTask = wx.request({url: 'https//www.test.php', // 仅为示例,并非真实的接口地址data: {x: '',y: ''},method: 'POST',header: {'content-type': 'application/x-www-form-urlencoded'},success: function(res) {console.log(res.data)},fail: function (err) {},complete: function () {}})requestTask.abort() // 取消请求任务}
})
小程序开发API之网络请求wx.reques、RequestTask网络请求任务对象及监听取消网络请求相关推荐
- 小程序开发API之获取系统信息wx.getSystemInfo()、wx.getSystemInfoSync()
wx.getSystemInfo() 获取系统信息 函数参数: 返回值: 例如: 写法一 index.js /*brand 设备品牌 model 设备型号pixelRatio 设备像素比screenW ...
- 小程序开发API之改变置顶栏文字内容 wx.setTopBarText(已停,只有旧版微信有效)
效果展示: wx.setTopBarText(Object object) 动态设置置顶栏文字内容.只有当前小程序被置顶时能生效,如果当前小程序没有被置顶,也能调用成功,但是不会立即生效,只有在用户将 ...
- 小程序开发API之监听加速计wx.startAccelerometer
加速传感器: 手机加速度传感器也叫运动传感器,它能捕捉手机的几种典型运动模式如摇晃.甩动.翻转等.达到用运动控制手机的目的. 举例来说,玩"沼泽竞技"和"空中快车&quo ...
- 微信小程序开发 | API应用案例(下)
API应用案例(下) 6.1[案例5]模拟时钟 6.1.1 案例分析 6.1.2 前导知识 6.1.3 钟表页面布局 6.1.4 钟表页面绘制 6.2[案例6]罗盘动画 6.2.1 案例分析 6.2. ...
- 微信小程序开发 | API应用案例(上)
API应用案例(上) 5.1[案例1]用户登录 5.1.1 案例分析 5.1.2 前导知识 5.1.3 搭建开发者服务器 5.1.4 实现用户登录 5.1.5 检查用户是否已经登录 5.1.6 获取用 ...
- 微信小程序开发API
微信小程序的内置API 本文内介绍的只是其中一部分,更多请参考官方文档 地址 界面API 交互 wx.showToast(Object object) 显示消息提示框 属性: title属性==> ...
- 小程序开发API之数据上报、数据分析
数据上报 wx.reportMonitor(string name, number value) 自定义业务数据监控上报接口. 参数 string name 监控ID,在「小程序管理后台」新建数据指标 ...
- 小程序开发API之实时音视频
wx.createLivePlayerContext(string id, Object this) 创建 live-player 上下文 LivePlayerContext 对象. 参数string ...
- 小程序开发API之mDNS
mDNS 局域网通信 DNS和mDNS DNS(Domain Name System,域名系统)因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机 ...
最新文章
- 第十五届全国大学生智能车全国总决赛获奖信息-华北赛区
- .NET独有的精巧泛型设计模式
- Android 将Openfire中的MUC改造成类似QQ群一样的永久群
- 蓝点lilac / ContextMenuManager:win10右键菜单清理工具
- rsync 3.1.1源代码编译安装配置
- bellman ford 算法 判断是否存在负环
- mysql配置文件参数详解 my.cnf
- 4.3.2 信道编码 ——卷积码
- 婚姻是一场精神上的门当户对
- 三种循环语句的详解和使用(for,while,do-while)
- 软件测试面试必考题:自我介绍
- 天下数据解析域名及域名转向
- 写的不错的家庭关系的文章,转自天涯。《2》
- 键盘(键盘基础,按键消息)
- 菜鸟也能学cocos2dx3.0 浅析刀塔传奇(下)
- Linux之命令改ip
- 开源软件和商业软件版本的介绍:alpha、beta、rc、GA等等
- 判断用户输入的数是正数还是负数
- Revit二次开发——扩展存储
- 财路网每日原创推送:用市值来评估加密货币是毫无意义的
热门文章
- 超详细TMS-EEG数据处理教程(上)
- 基于内容和语义的三维模型检索综述2020 论文笔记
- 软件行业进入“黑暗时代”,Bob大叔开启“整洁三部曲”,正式清理门户
- Nao 类人机器人,Aldebaran Robotics公司
- 优秀课程案例:如何用scratch实现小猫吃鱼的游戏
- 美拍视频收集最新绿色免费版
- c语言编程离高考还有多少天,距离2020高考还有多少天 高考倒计时
- SDL农场游戏开发 11.总结
- 基于Vue的拖拽插件的实战应用,但最后我还是选择了手写
- 蛋白酶yscE底物、61043-33-2、Z-AAL-pNA