前端基础搬运工-Ajax模块

七、Ajax模块

基础部分

1. ajax是什么?

  - [ ] Ajax并不算是一种新的技术,全称是asychronous javascript and xml,可以说是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新,早期的浏览器并不能原生支持ajax,可以使用隐藏帧(iframe)方式变相实现异步效果,后来的浏览器提供了对ajax的原生支持

        使用ajax原生方式发送请求主要通过XMLHttpRequest(标准浏览器)、ActiveXObject(IE浏览器)对象实现异步通信效果

2. 同步和异步执行代码的区别?

  - [ ] 同步:阻塞的

        =张三叫李四去吃饭,李四一直忙得不停,张三一直等着,直到李四忙完两个人一块去吃饭

        =浏览器向服务器请求数据,服务器比较忙,浏览器一直等着(页面白屏),直到服务器返回数据,浏览器才能显示页面

        异步:非阻塞的

        =张三叫李四去吃饭,李四在忙,张三说了一声然后自己就去吃饭了,李四忙完后自己去吃

        =浏览器向服务器请求数据,服务器比较忙,浏览器可以自如的干原来的事情(显示页面),服务器返回数据的时候通知浏览器一声,浏览器把返回的数据再渲染到页面,局部更新

3. 页面编码和被请求的资源编码不一样如何处理?

  - [ ] 对于ajax请求传递的参数,如果是get请求方式,参数如果传递中文,在有些浏览器会乱码,不同的浏览器对参数编码的处理方式不同,所以对于get请求的参数需要使用 encodeURIComponent函数对参数进行编码处理,后台开发语言都有相应的解码api。对于post请求不需要进行编码

4. 简述ajax的过程?

  - [ ] 1. 创建XMLHttpRequest对象,也就是创建一个异步调用对象

        2. 创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息

        3. 设置响应HTTP请求状态变化的函数

        4. 发送HTTP请求

        5. 获取异步调用返回的数据

        6. 使用JavaScript和DOM实现局部刷新

5. 请解释一下JavaScript的同源策略?

  - [ ] 同源策略在什么情况下会起作用呢? 当web 页面使用多个