1、AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下更新部分网页的技术。
2、IE6以下的版本不支持XMLHttpRequest对象,兼容方法:
var request=new ActiveXObject("Microsoft.XMLHTTP");
3、XMLHttpRequest发送请求,使用open() 和 send() 方法:
open(method,url,async)
send(string) 使用POST请求时string需要有参数
4、XMLHttpRequest取得响应,使用responseText 或 responseXML 属性。
responseText获得字符串形式的响应数据。
responseXML获得 XML 形式的响应数据。
5、 XMLHttpRequest 对象的三个重要的属性:
(1)onreadystatechange:存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
(2)readyState:0: 请求未初始化;1: 服务器连接已建立;2: 请求已接收;3: 请求处理中;4: 请求已完成,且响应已就绪。
(3)status:http状态码由3位数字构成,其中首位数字定义了状态码的类型。
1xx:信息类,表示收到web浏览器请求,正在进一步的处理中。
2xx:成功,表示用户请求正在被正确接收,理解和处理。例如:200 OK
3xx:重定向,表示请求没有成功,客户必须采取进一步的动作。
4xx:客户端错误,表示客户端提交的请求有错误,例如:404 not found,意味着请求中所引用的文档不存在。
5xx:服务器错误,表示服务器不能完成对请求的处理,如500
6、json:JavaScript对象表示法(JavaScript Object Notation),json是存储和交换文本信息的语法,类似xml。它使用键值对的方式来组织,易于人们阅读和编写,同时也易于机器解析和生成。
7、json与xml比较
(1)json比xml格式长度更短小
(2)json读写速度更快
(3)json可以用JavaScript内建的方法解析,转换成JavaScript对象。JavaScript解析json的方法有eval和JSON.parse两种方式,推荐后者,因为前者是不安全的,它不能验证json格式的合法性。
8、在线校验json
http://jsonlint.com/
http://json.cn/
9、jQuery实现ajax
jQuery.ajax([settings])
(1)type:类型,“POST”或“GET”,默认为“GET”。
(2)url:发送请求的地址。
(3)data:是一个对象,连同请求发送到服务器的数据。
(4)dataType:预期服务器返回的数据类型。如果不指定,jQuery将自动根据HTTP包MIME信息来智能判断,一般我们采用json格式,可以设置为“json”。
(5)success:是一个方法,请求成功后的毁掉函数。传入返回后的数据,以及包含成功代码的字符串。
(6)error:是一个方法,请求失败时调用此函数。传入XMLHttpRequest对象。
百度cdn库jquery <script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
10、跨域:当域名地址中协议、子域名、主域名、端口号任意一个不相同时,即为不同域。不同域之间请求资源,就是跨域。
javaScript处于安全方面的考虑,不允许跨域调用其他页面的对象。
处理跨域的方法:
(1)通过在同域名的web服务器端创建一个代理。
(2)JSONP,不支持POST请求。详解:http://justcoding.iteye.com/blog/1366102/
(3)XMLHttpRequest Level2,IE10以下版本不支持。在服务器端添加:
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:POST,GET');
webstorm配置apache
http://blog.csdn.net/asuncat/article/details/70143028