Ajax:翻译过来就是异步的js和XML技术。这是一门技术,不是语言。
首先得弄明白什么叫同步,什么叫异步?
同步:客户端浏览时,服务器在等待,服务器执行时,浏览器在等待。
异步:客户端将请求的地址交给ajax对象,ajax对象去服务器获取数据,然后再将数据交给客户端,这样通过中间的ajax对象使得浏览器页面没有发生跳转。
现在有一串代码demo1.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
html
>
<
head
>
<
meta
http-equiv
=
"content-type"
content
=
"text/html; charset=utf-8"
>
<
title
> ajax demo </
title
>
</
head
>
<
body
>
<
script
type
=
"text/javascript"
>
window.onload =
function(){
document.getElementById('name').onclick = function(){
var req = new XMLHttpRequest();//创建ajax对象
req.open('get','demo1.php');//创建一个get请求,这里本来有三个参数,最后一个参数默认是true,也就是默认异步提交。如果写false,那就是同步提交
req.send();//发送请求,此时下面的代码可以不用管,就执行这几条,你会发现页面也没有刷新,前提是服务器端代码没有错,这就是ajax对象的作用
//判断状态码,为4说明服务器端所有数据都已经返回给客户端,等于200说明服务器端代码执行没有错误req.onreadystatechange = function() {
if(req.readyState == 4 && req.status == 200) {
req.responseText();//获取服务器返回的字符串
}
}
doucument.write(Math.random());//由于是异步请求,在发送请求的过程中会一边执行跳转的服务器端php代码,同时也会继续往下执行客户端代码
}
}
</
script
>
<
input
type
=
"button"
value
=
"点击"
id = 'name'>
</
body
>
</
html
>