ajax基础学习

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<!--<script src="jquery.js"></script>-->
<script>
//$(function(){})	//阻塞 -> 同步

//非阻塞 - 异步
/*setTimeout(function() {
	alert(1);
}, 2000);

alert(2);*/

window.onload = function() {
	
	var oBtn = document.getElementById('btn');
	
	
	oBtn.onclick = function() {
		
		//打开浏览器
		/*
			1.创建一个ajax对象
				ie6以下new ActiveXObject('Microsoft.XMLHTTP')
		*/
		var xhr = null;
		/*if (window.XMLHttpRequest) {
			xhr = new XMLHttpRequest();
		} else {
			xhr = new ActiveXObject('Microsoft.XMLHTTP');
		}*/
		try {
			xhr = new XMLHttpRequest();
		} catch (e) {
			xhr = new ActiveXObject('Microsoft.XMLHTTP');
		}
		
		//alert( xhr.readyState );
		//在地址栏输入地址
		/*
			open方法
			参数
				1.打开方式
				2.地址,可以是文件也可以是服务器地址
				3.是否异步
					异步:非阻塞 前面的代码不会影响后面代码的执行
					同步:阻塞 前面的代码会影响后面代码的执行
		*/
xhr.open('get','1.txt',true); //提交 发送请求 //alert(1); xhr.send(); //alert( xhr.readyState ); //alert(1) //alert( xhr.responseText ); //等待服务器返回内容 /* readyState : ajax工作状态 responseText : ajax请求返回的内容就被存放到这个属性下面 on readystate change : 当readyState改变的时候触发 status : 服务器状态,http状态码 */ xhr.onreadystatechange = function() { if ( xhr.readyState == 4 ) { if ( xhr.status == 200 ) { alert( xhr.responseText ); } else { alert('出错了,Err:' + xhr.status); } } } } } </script> </head> <body> <input type="button" value="按钮" id="btn" /> </body> </html>

1.通过txt,xml,json获取ajax数据

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Ajaxa-javascript写法</title>
    </head>
    
    <body>
        显示通过ajax获取内容<div id="div1"></div>
        <button onclick="get()">点击获取文本格式的ajax</button>
        <button onclick="getXml()">点击获取xml格式的ajax</button>
            <button onclick="getJSON()">点击获取JSON格式的ajax</button>
        <script>
            //获取ajax文本内容方法
            function get(){
                var xml=new XMLHttpRequest();
                //获取服务器地址的数据
                xml.open("GET","http://192.168.2.106:8080/jquery/servlet/OneServlet",true);
                //xml.open("get","../lesson1.txt",true);
                xml.onreadystatechange=function(){
                    console.log("判断是否连接到服务器"+xml.status);
                    console.log("判断是否处理到请求"+xml.readyState);
                if(xml.status==200&&xml.readyState==4){
                    var is=xml.responseText;
                    document.getElementById("div1").innerHTML=is;
                }
                }
                xml.send();
            }
            //通过xml获取
            function getXml(){
                var xml=new XMLHttpRequest();
                //获取xml的数据
                xml.open("get","1.xml",true);
                xml.onreadystatechange=function(){
                    console.log("判断是否连接到服务器"+xml.status);
                    console.log("判断是否处理到请求"+xml.readyState);
                if(xml.status==200&&xml.readyState==4){
                    var is=xml.responseXML;
                    for(var i=0;i<is.documentElement.getElementsByTagName("node").length;i++){
                        var name=is.documentElement.getElementsByTagName("input")[i].childNodes[0].nodeValue;
                    var name1=is.documentElement.getElementsByTagName("select")[i].childNodes[0].nodeValue;
                    //得到input id属性的值
                    var id=is.documentElement.getElementsByTagName("input")[0].getAttributeNode("id").value;
                    document.getElementById("div1").innerHTML+="序号"+name+"  名字  "+name1+"<br>";
                    console.log(id);
                    
                    
                    }
                }
                }
                xml.send();
            }
            
            //获取json的ajax
            function getJSON(){
                var xml=new XMLHttpRequest();
                //获取xml的数据
                xml.open("get","1.json",true);
                xml.onreadystatechange=function(){
                    console.log("判断是否连接到服务器"+xml.status);
                    console.log("判断是否处理到请求"+xml.readyState);
                if(xml.status==200&&xml.readyState==4){
                    var json=xml.response;
                    var is=eval(json);
                    for(var i=0;i<is.length;i++){
                        var str;
                        str="姓名:"+is[i].name+"<br>年龄:"+is[i].age+"<br>生日:"+is[i].birthday+"<br>工作:"+is[i].job
                            document.getElementById("div1").innerHTML+=str;
                    }
                
                    }
                }
                
                xml.send();
            }
        </script>
    </body>
</html>

 

posted @ 2017-02-09 09:34  夏沫浅语  阅读(252)  评论(0编辑  收藏  举报