基本概念:
AJAX = Asynchronous JavaScript and XML(异步的JavaScript和XML)
AJAX= 异步请求
AJAX不是一个新的编程语言,只是JavaScript中的一个原有的对象。
作用:
ajax是客户端和服务器进行通信的
说白了就是客户端(不仅限浏览器)向服务器拿数据,或者存数据的。
网页获取数据的方法:
网页获取数据的方式有2种:
1.同步请求: 就是刷新,表现在,网页刷新一次,请求一次,刷新不成功,网页不显示;
2.异步请求:就是AJAX,表现在,网页可以在不刷新的情况下向服务器要数据;
同步 彼此等待 — 阻塞
异步 各做各的 — 非阻塞
注意事项:
所有ajax有关的项目,都必须在服务器环境中运行!!!
HTTP:
就是计算机客户端和服务器进行通信的一种协议(规则);
HTTP的响应:
一个HTTP响应分为3部分组成:
1.状态码(用来表示服务返回的状态,由一串数字组成);
2.响应头(一般包括服务器的响应时间等信息);
3.响应体(就是我们的正文内容)
请求步骤:
1、创建一个XMLHttpRequest对象
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject(‘Microsoft.XMLHTTP’);
}
2、准备发送请求数据
3、调用XMLHttpRequest对象的open方法
4、调用XMLHttpRequest对象的send方法,准备发送
5、为XMLHttpRequest对象增加onreadystatechange函数
6、判断响应是否完成:XMLHttpRequest对象的readyState属性值为4的时候
7、再判断相应是否可用:XMLHttpRequest对象status属性值为200
8.打印相应结果:responseText
HTTP状态码:
状态码是由3个数字组成,分别表示不同状态类型(5种)
- 1XX 表示服务器正在处理中;
- 2XX 表示请求成功,比如200;
- 3XX 重定向,表示请求不成功,客户必须采取处理方式;
- 4XX 客户端错误,表示请求的地址或者文档不存在,比如404;
- 5XX 服务端或者后台出现问题,比如500,503……
浏览器Ajax请求服务器:
①:浏览器让xhr去跟服务器要点儿数据
②:浏览器接着干别的事情
③:xhr去向服务器请求数据
④:服务器返回数据给xhr
⑤:xhr通知浏览器数据回来了
⑥:浏览器收到xhr返回的数据渲染页面
json数据:
什么是json?
定义:json就是一种存储数据的形式,类似于数组,但是方便的程度不同。json的内部都是键值对,所以又称值为键值对包。
跨域:
出于安全性考虑,浏览器不允许ajax跨域获取数据
可以通过script的src加载js的方式传递数据
以函数参数的形式传递数据
fn({“a”:”1”,”b”:”2”})