AJAX
-------------------------
AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML)。
举例!
异步是发短信,同步是打电话.
异步的时候,会有回调.
想用JS去服务器拿数据?
客户端的JS.所以没有能力去服务器拿信息
借用服务端的PHP,JS模拟一个$_GET请求,之后它的局部就变了.
请求与响应.
请求:request
相应:response
相应出来的为字符串.
eval() 把字符串当js代码执行
1.HTTP返回状态码(响应)
1XX 临时响应
2XX 成功
200 OK 访问成功
3XX 重定向
301:永久重定向
http:www.lampbrother.net/article/3359.html
article/([\d]*)\.html
http:www.lampbrother.net/article/3359.html
302:临时重定向
304 Not Modified (没有修改)缓存
4XX 请求错误
404 网页不存在
5XX 服务器错误
2.AJAX从服务器拿东西
三个方法
四个属性
回调函数没有内容
a.创造对象
var xmlhttp=new XMLHttpRequers();
alert(xmlhttp);
IE6
new ActiveXObject("Microshoft.XMLHTTP")
b.准备(打开)
类似与打开浏览器,并填上URL
xmlhttp.open("GET","02.php",true);
//最后一个true参数,表示同意使用异步请求,false是同步
c.准备一个函数(让对象具备处理响应的能力,短信发送的处理)
//在改变状态的时候就会回来调用这个函数
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var result=xmlhttp.responseText
document.getElementById
}
}
d.发送
xmlhttp.send();
//等发送的时候才调用函数.
//关心的状态,1.发送成功的状态,或发送失败的状态
2.接受信息的状态
e. 准备数据
3.如何用POST
1.xmlhttp.open("POST","ajax_test.asp",true);//打开为POST
2.xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
3.xmlhttp.send("fname=Bill&lname=Gates");//记得编码问题 escape()
PHP会自动解释编码的问题
4.同步的效果
a.创造对象
var xmlhttp=new XMLHttpRequers();
alert(xmlhttp);
IE6
new ActiveXObject("Microshoft.XMLHTTP")
b.xmlhttp.open("GET","02.php",false); //最后一个参数为false就是同步
c.不需要回调函数了.
d.发送 xmlhttp.send();
e.把函数的判断直接放外面去
判断返回结果,是1还是0,决定用户是否可以注册
5.die 的时候你要是字符串 而不是数字