Ajax的4条线

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

AJAX的4条步骤。

function ajax(method,url,data,fnsuccess){
	//1号线:创建ajax对象
	
	var xhr;
	if(window.XMLHttpRequest){
		xhr=new XMLHttpRequest();
	}
	else{
		xhr=new ActiveXObject('Microsoft.XMLHTTP');
		
	}
	
	//2号线:发送http请求(准备数据,真正的发送)
	
	if(method=='GET' && data){
		//如果是get方式,并且有data:传数据到服务器
		url=url+'?'+data;
		
	}
	xhr.open(method,url,true);
	
	if(method=='GET'){
		xhr.send(null);
	}
	else{
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xhr.send(data);
	}
	
<?php
	
	//3号线:获取ajax传来的信息,做处理,再返回给ajax:后台做,或者后台协作
	//这里两句话很重要,第一讲话告诉浏览器返回的数据是xml格式
	header("Content-Type: text/text;charset=utf-8");
	//告诉浏览器不要缓存数据
	header("Cache-Control: no-cache");
	
	$userName=$_GET['name'];
	
	//0 不合法
	//1 已被注册
	//2 可以注册
	
	if($userName=='admin'){ //把内容拿到,进行判断,输出信息返回给ajax
		echo '{"inf":"这个用户名不能用"}'; 
	}
	
	else{
		echo '{"inf":"这个用户名能用"}';
	}
	
?>



//4号线:拿到的数据返回给调用ajax函数的地方xhr.onreadystatechange=function(){if(xhr.readyState==4){if(xhr.status==200){if(fnsuccess){fnsuccess(xhr.responseText);//注意这里只能接收字符串,json和html数据。如果传过来的是xml数据格式,要换用responseXML属性}}else{alert('出差了,出错状态是:'+xhr.status);}}}}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值