ajax的异步提交以及返回数据的处理,重点json

在工作中,因为种种原因我需要用到了ajax,本身是一个java工程师,但是做java的并不是一辈子写后台,特别是如今的b/s架构,所以通过自身学习了ajax,废话不多扯,看下面。


1.首先我们需要一个完整XMLHttprequest

var req;

if(window.ActiveXObject){
req = new ActiveXobject("Microsoft.XMLHTTP"); //IE
}else{
req = new XMLHttpRequest(); //火狐
}

上面并没有严格的获取XMLHttpRequest

拥有了XMLHttpRequest之后调用他的open方法

req.open("get","../aa/bb.action?arg="+uname,true); //用什么方式,对哪个action进行请求,本质仍然是http请求,true表示异步机制

req.onreadystatechange = process; //指定回掉函数,process表示一个回掉函数,改函数处理了你后台返回的数据

然后调用他的send方法

req.send(null);//使用get请求可以为空,post则可以把参数写到send方法里面,个人建议使用post


看全部代码

<span style="white-space:pre">	</span>var req;
	function getXmlHttpRequest(){
		
		if(window.ActiveXObject){
			req = new ActiveXobject("Microsoft.XMLHTTP");
		}else{
			req = new XMLHttpRequest();
		}
		return req;
	}

	function validateNmae(){
		var req = getXmlHttpRequest();
		var uname = $("#uname").val();
		if(req){
			
			//利用ajax引擎发送到服务器
			req.open("get",true); //对哪个action进行请求,用什么方式,本质仍然是http请求,true表示异步机制
			req.onreadystatechange = process;   //指定回掉函数

			req.send(null);//使用get请求可以为空,post择不同

		}
	}

	function process(){  //指定的回掉函数,用来处理返回的数据
		//表示第4个状态,第4个状态表示成功的状态,总共有4个状态
		if(req.readyState == 4){
		//	var text = req.responseText; //返回的是文本格式,如果返回的是XML格式则是responseXML

			var json_text = res.responseText;  //此时返回的还是一个字符串,返回json数据时重点需要的,公司用到的也是最多的
			var json_obj = eval("("+json_text+")");  //此时他是一个json对象了
			alert(json_obj.name+"    "+json_obj.age);  //此时拿到了数据,但是这这是返回的是对象类型的
			for(var i=0; i<json_obj.length; i++){  //遍历json
				json_obj[i].name;
				json_obj[i].age;
			}
		}
	}

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...