滴滴面试题数据分析,Ajax进阶篇01---Ajax加强(含大量代码演示,2024年字节跳动74道高级程序员面试

2️⃣ 把字符串转换为数据对象的过程,叫做反序列化,例如:调用 JSON.parse() 函数的操作,叫做 JSON 反序列化;


(3)XMLHttpRequest Level2的新特性

3.1 认识XMLHttpRequest Level2

😆旧版XMLHttpRequest的缺点😆:

  1. 只支持文本数据的传输,无法用来读取和上传文件;

  2. 传送和接收数据时,没有进度信息,只能提示有没有完成;

😆XMLHttpRequest Level2的新功能😆:

  1. 可以设置 HTTP 请求的时限;

  2. 可以使用 FormData 对象管理表单数据;

  3. 可以上传文件;

  4. 可以获得数据传输的进度信息;

3.2 设置HTTP请求时限

有时,Ajax 操作很耗时,而且无法预知要花多少时间。如果网速很慢,用户可能要等很久。新版本的 XMLHttpRequest 对象,增加了 timeout 属性,可以设置 HTTP 请求的时限:

xhr.timeout = 3000;

上面的语句,将最长等待时间设为 3000 毫秒。过了这个时限,就自动停止HTTP请求。与之配套的还有一个 timeout 事件,用来指定回调函数:

xhr.ontimeout = function(event){

alert(‘请求超时啦!’)

}

代码演示如下:

3.3 FormData对象管理表单数据

1️⃣ Ajax 操作往往用来提交表单数据。为了方便表单处理,HTML5 新增了一个 FormData 对象,可以模拟表单操作;

代码演示如下:

2️⃣ FormData对象也可以用来获取网页表单的值,代码演示如下::

提交

4.4 代码演示:上传文件

新版 XMLHttpRequest 对象,不仅可以发送文本信息,还可以上传文件;

实现步骤:

  1. 定义 UI 结构;

  2. 验证是否选择了文件;

  3. 向 FormData 中追加文件;

  4. 使用 xhr 发起上传文件的请求;

  5. 监听 onreadystatechange 事件;

完整代码演示如下:

Document

上传文件


4.5 代码演示:显示文件上传进度

新版本的 XMLHttpRequest 对象中,可以通过监听 xhr.upload.onprogress 事件,来获取到文件的上传进度;

完整代码演示如下:

Document

上传文件

0%



(4)jQuery高级用法

4.1 jQuery实现文件上传

完整代码演示如下:

Document

上传文件


  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值