在工作中,因为种种原因我需要用到了ajax,本身是一个java工程师,但是做java的并不是一辈子写后台,特别是如今的b/s架构,所以通过自身学习了ajax,废话不多扯,看下面。
1.首先我们需要一个完整XMLHttprequest
var req;
if(window.ActiveXObject){
req = new ActiveXobject("Microsoft.XMLHTTP"); //IE
}else{
req = new XMLHttpRequest(); //火狐
}
上面并没有严格的获取XMLHttpRequest
req.open("get","../aa/bb.action?arg="+uname,true); //用什么方式,对哪个action进行请求,本质仍然是http请求,true表示异步机制
req.onreadystatechange = process; //指定回掉函数,process表示一个回掉函数,改函数处理了你后台返回的数据
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; } } }原文链接:/ajax/163409.html