持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第9天,点击查看活动详情
- 同步和异步
- 显示场景理解
- 同步:一个人在同一时刻只能做一个事情,在执行一些耗时的操作(不需要看管)不去做别的事,只是等待
- 异步:在执行一些耗时的操作(不需要看管)去做别的事,而不是等待
- 显示场景理解
- Ajax中的实现
- xhr.open()方法第三个参数要求传入的是一个boolean,其作用就是设置此次请求是否采用异步方式执行
- 默认为true异步,如果需要同步执行需改为false
- 如果采用同步方式执行,则代码会卡死在xhr.send()这一步,就需要把send方法和最后一步交换一下位置
- 建议:
- 为了让这个事件更加可靠(一定触发),在发送请求send()方法之前,一定要先注册readystatechange
- 不论是同步或异步都能触发成功
- 了解同步模式即可,切记不要使用同步模式
- 响应数据格式
- 疑问
- 如果希望服务端返回一个复杂数据,该如何处理
- 关心的问题就是服务端发出合种格式的数据,这种格式如何在客户端用JavaScript解析
- XML
- 一种数据描述手段
- 元数据:用来描述数据的数据
- 这种数据的缺点
- 元数据占用的数据量比较大,不利于大量数据的网络传输
- 在其他语言中,比如JS,解析内部数据时,方法比较复杂
- 老掉牙的东西,现在的项目基本不使用了
- 疑问
- JSON
- JavaScript Object Notation,JavaScript对象表示法
- 也是一种数据描述手段,类似于JavaScript字面量方式
- 服务端采用JSON格式返回数据,客户端按照JSON格式解析数据
- JSON格式数据和JS对象的区别
- JSON数据不需要存到变量中
- 结束时不需要写分号
- JSON数据中的属性名必须加引号
- 还可以写在字符串中
使用JSON对象的parse方法可将JSON格式的字符串转换成对象格式,具有了属性和方法,方便在JS中使用
JSON对象的stringify方法,可将对象格式转换为字符串格式
- 注意:
- 不管是JSON也好,还是XML,只是在Ajax请求中用到,并不代表它们与Ajax有必然的联系,它们只是数据协议
- 不管服务端是采用XML还是采用JSON本质上都是将数据返回给客户端
- 服务端应该根据响应内容的格式设置一个合理的Content-Type