<!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>