背景:在上世纪90年代,几乎所有的网站都由HTML页面实现,服务器处理每一个用户请求都需要重新加载网页。用户体验极差!由于每次应用的沟通都需要向服务器发送请求,应用的回应时间依赖于服务器的回应时间。这导致了用户界面的回应比本机应用慢得多。
Ajax简介
Ajax 并不算是一种新的技术,全称是 asynchronous javascript and xml,可以说是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新
Ajax优缺点
优点
页面局部刷新,用户体验好。
异步通信,更加快的响应能力。
减少冗余请求,减轻了服务器负担;按需获取数据,节约带宽资源。
基于标准化的并被广泛支持的技术,不需要下载插件或者小程序
缺点
ajax干掉了back按钮和加入收藏书签功能,即对浏览器后退机制的破坏。
存在一定的安全问题,AJAX 暴露了与服务器交互的细节。
对搜索引擎的支持比较弱。
破坏了程序的异常机制。
无法用URL直接访问
创建Ajax的步骤
【1】创建XMLHttpRequest
XMLHttpRequest 是 AJAX 的基础。XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。
【2】向服务器发送请求
如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法
注意:open 的参数要牢记,很多面试官爱问这样的细节
method:请求的类型;GET 或 POST
url:文件在服务器上的位置
async:true(异步)或 false(同步)
send(string)方法post请求时才使用字符串参数,否则不用带参数。
注意:post请求一定要设置请求头的格式内容
【3】处理服务器响应
当请求被发送到服务器时,我们需要执行一些基于响应的任务。每当 readyState 改变时,就会触发 onreadystatechange 事件。readyState 属性存有 XMLHttpRequest 的状态信息。
Ajax实例
【1】原生Ajax请求
【2】jQuery封装Ajax请求
文章转载自Ajax是什么?如何创建一个Ajax