什么是Ajax:
- 异步
同步:发请求 服务器响应过来我才能继续往下做
异步: 发请求 甭管服务器响应我都可以继续往下做 - 无刷新
点击< a >标签或者表单,网页不会进行刷新
例:- 是我们玩微信朋友圈的时候,点个赞我们的页面并没有刷新
- 或者是当我们刷微博点击更多,并没有跳转页面,并没有回到最开始的那个页面
- 百度查询,输入关键词下面有很多匹配,网页并没有刷
优点
不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容
js 实现
window.onload=function(){
var obj = document.getElementById("btn")
obj.onclick=function(){
// 1.创建XMLHttpRequest对象
// 考虑浏览器兼容性问题
if(window.XMLHttpRequest){
var oAjax = new XMLHttpRequest()
}
else{
var oAjax = new ActiveXObject("Microsoft.XMLHTTP")
}
//2.对请求地址进行初始化,调用open方法
// open(方法,地址,同步或者异步) 同步:false 异步:true
oAjax.open("GET","js/dd.txt",true)
// 3.发送请求
oAjax.send()
/*
用于与服务器进行交互时,每次readyState的改变都会出发这个事件
readyState 告诉我们浏览器和服务器进行到哪一步了
0:初始化
1:服务器已经建立连接,调用完open方法
2:请求已经被接受,执行完send方法
3:请求处理中
4:请求完成 响应就绪
status: 200 404 500
*/
oAjax.onreadystatechange=function(){
if(oAjax.readyState==4){
if(oAjax.status==200){
alert("请求成功:"+oAjax.responseText)
}
else{
alert("请求失败:"+oAjax.status)
}
}
}
}
}
jQuery实现
我实在是太懒了!!!