Ajax

获取Ajax对象

  • XMLHttpRequest 对象:
    我们写一个函数来创建,以后每次调用它就行:
function getAjax(){
	if(XMLHttpRequest){		
		return new (XMLHttpRequest);		//代表非IE浏览器
	}else if(ActiveXObject){
		return new ActiveObject("Microsoft.XMLHTTP");//IE浏览器
	}else{
		alert("no server..");
	}
}

调用的时候运用到open和send方法:

var xhr=getAjax();
	xhr.open("get","/Web_/getTime",true);//第一个是请求方式,第二个是文件访问位置(我这里是我servlet提交的位置)第三个“true”表示异步,false是同步
	xhr.send();//向后台发送请求

服务器响应:

  • responseText: 获得字符串形式的响应数据(因为是很多时候我们使用异步,这样网页加载快,就不一定会按正常流程获得数据,因为不知道它什么时候执行完,所以我们使用监听器监听其状态)
  • code:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">
function getAjax(){
	if(XMLHttpRequest){
		return new (XMLHttpRequest);
	}else if(ActiveXObject){
		return new ActiveObject("Microsoft.XMLHTTP");
	}else{
		alert("no server..");
	}
}
function getTime(){
	var xhr=getAjax();
	xhr.open("get","/Web_/getTime",true);
	xhr.send();//向后台发送请求
	
	xhr.onreadystatechange=function(){  //用监听器监听
		if(xhr.readyState==4){    //代表数据接收完毕
			console.debug(xhr.responseText);//在控制台显示后台返回的响应数据
			}
	}
	}
	
</script>
</head>
<body>
<button onclick="getTime()">click me</button>
</body>
</html>

使用JSON传递数据:

  • JSON 比 XML 更小、更快,更易解析,
    创建方式,code:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<p>
Name: <span id="jname"></span><br />
Age: <span id="jage"></span><br />

</p>

<script type="text/javascript">
var JSONObject= {   
"name":"Bill Gates",
"age":56};
document.getElementById("jname").innerHTML=JSONObject.name
document.getElementById("jage").innerHTML=JSONObject.age
/*
JSON_1.age=20;//还可以修改属性
document.getElementById("jage").innerHTML=JSON_1.age
*/

</script>
</body>
</html>

后台很多时候传过来的是字符串的形式,但是字符串不能作为代码来执行,所以有时候我们要把字符串转换成可执行的脚本:
code:

//两种方式
var JSON_2='{"name":"steve","age":22}'//这个只是个字符串,但是格式符合JOSN
//console.debug(eval("("+JSON_2+")"));
console.debug(JSON.parse(JSON_2));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值