ajax是一门客户端技术,无论使用哪种服务端技术,比如php,java,jsp等等都可以使用ajax技术。因为它能实现不刷新页面或者部分刷新页面的情况下与服务端通信,所以被称为传统的web技术革命!!!
全称: 异步JavaScript 和xml技术,是JavaScript,xml,css,dom等多种已有技术的结合,可以实现客户端的异步请求操作,实现在不需要刷新页面的情况下与服务器进行通信,从而减少了用户的等待时间。
ajax的优点:
减轻服务器的负担
把一部分工作转移到客户端,利用客户端闲置资源处理
无需刷新页面
可以调用xml等外部数据
基于标准化并被广泛支持
最核心的技术 : XMLHttpRequest
他是一个具有应用程序接口的JavaScript对象,能够通过http(超文本传输协议)连接服务器。
使用前,必须初始化该对象。对不同的浏览器,初始化方法不一样。
火狐,safari等浏览器(ie浏览器懒得写了0.0)
var http_request = new XMLHttpRequest();
XMLHttpRequest对象的常用方法
1. open()
设置进行异步请求目标的url,请求方法以及其他参数
open("method","URL"[,asyncFlag[,"userName"[,"password"]]])
get/post 地址 同步true/异步
2.send() 用于向服务器发送请求。如果请求为异步,该方法将立即返回。否则将直到接收到响应为止。
send(content);
可以是DOM对象的实例,输入流或字符串,如果没有参数,可以设为null
3. setRequestHeader()方法 设置请求头的值
setRequestHeader("label","value");
//必须在open方法之后调用
4. abort()方法 停止当前异步请求
5.getAllResponseHeader() 以字符串形式返回完整的http头信息,当存在参数时,表示以字符串形式返回由该参数指定的http头信息。
XmlHttpRequest 对象的常用属性请自行查阅。
DOM(document object model) 文档对象类型 为xml文档的解析定义了一组接口, 在ajax应用中,通过JavaScript操作Dom,可以达到不刷性页面的情况下适时修改用户界面的目的。
Css 是ajax开发人员的重要武器。
ajax开发需要注意的几个问题
1.浏览器兼容问题
2.XMLHTTPRequest对象封装 (因为他的实例每次处理完事件后就会被销毁,所以如果不对该对象进行封装处理,在下次调用时就需要重新构建)
3。性能问题
4.中文编码问题 ajax默认utf8编码