加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 02:00:40 所属栏目:百科 来源:网络整理
导读:在工作中,因为种种原因我需要用到了ajax,本身是一个java工程师,但是做java的并不是一辈子写后台,特别是如今的b/s架构,所以通过自身学习了ajax,废话不多扯,看下面。 1.首先我们需要一个完整XMLHttprequest var req; if(window.ActiveXObject){ req = n

在工作中,因为种种原因我需要用到了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;
			}
		}
	}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读