1,ajax 是7种技术的综合,常用到的:html+css javascript XML(xmlHttpRequest对象) xstl
2,ajax可以理解成就是javascript通过操作XML(XMLHttpRequest对象)来完成http请求的过程
什么时候适合使用ajax:
(1) 频繁的对数据库(服务器)进行操作的时候
(2)无刷新页面请求(表单验证)
Ajax的优势:
1,传统的web请求,会将表单的数据全部提交到action=””这个地址的服务器上,但是密码,email是没有必要提交过去,而且,对服务器是一种负担
Ajax:原则:“按需取数据”,这样可以降低服务器的压力
XMLHttpRequest这个对象和 PHP交互,先获得这个对象
//获得ajax XMLHttpRequest对象(由于浏览器兼容性)
var xhr;
if(window.ActiveXObject){ //这是IE浏览器的
xhr = new ActiveXObject(“Microsoft.XMLHTTP”);
}else if(window.XMLHttpRequest){ //这里是火狐浏览器的
xhr = new XMLHttpRequest();
}
什么是回调函数:
步骤:
1,实例化XMLHttpRequest对象
2,open() 打开地址栏
3,监听ajax请求的状态
4,send() 完成ajax请求
GET方式请求,需要注意:
浏览器为了提高访问同一页面的速度,会先将我们访问的数据缓存起来,如果地址栏不变,相当于访问的是同一个页面,这时浏览器读取的是缓存的数据而不是真实的页面数据解决方法:
Json格式发送集合类的数据
服务器返回给浏览器返回2种数据,
1,字符串;接收:xhr.responseText
2,集合类
Ajax就是javascript通过操作XMLHttpRequest对象完成http请求
服务器如何给浏览器返回集合类的数据:
Json_encode()编码后,返回的是json格式的字符串,(仍然还是字符串),思路:如何让这个json格式的字符串转化成一个对象
1,先将字符串运行一下通过在字符串上()
2,eval() 运行即可
Post方式提交需要注意:
Xhr.setRequestHeader()
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
异步的概念:
XMLHttpRequest对象把数据传递到服务器的地址后,服务器处理它的,我浏览器处理我的,这样可以减少用户的等待时间,如果是同步或阻塞,必须要等到服务器返回结果后,我浏览器才能处理我的事情,如果数据量大的话,用户等待的时间特别长
Ajax请求和传统的web请求:
Ajax请求:XMLHttpRequest对象发送的请求
var url = "index.PHP?c=user&a=ajax_check&time="+Math.random()+"&username="+username.value;
传统的web请求:
<form action="index.PHP" method="post">
原文链接:https://www.f2er.com/ajax/166671.html