AJAX入门学习笔记

个人博客原文链接

Ajax(Asynchronous javascript and xml) 实现异步刷新,通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用Ajax)如果需要更新内容,必须重载整个网页页面。

一. 基于JavaScript的Ajax

分布解析Ajax
  1. 创建XHR(XML Http Request)
    XHR对象是一个JavaScript对象,Ajax就是通过它实现局部刷新的
    var xmlhttp = new XMLHttpRequest();

  2. 设置响应函数
    XHR对象的作用是和服务器进行交互,可以指定checkResult函数进行处理
    xmlhttp.onreadystatechange = checkResult;

  3. 设置并发出请求
    xmlhttp.open(“GET”,url,true);
    通过send函数进行实际访问
    xmlhttp.send(null);
    null表示没有参数,因为参数已经通过get方式放在url中了,只有用post,并且需要发送参数的时候,才会使用send
    xmlhttp.send(“user=”+username+"&password="+password);

  4. 处理响应信息
    在checkResult函数中处理响应
    function checkResult(){
    if(xmlhttp.readyState4&&xmlhttp.status200){
    document.getElementById(“checkResult”).innerHTML = xmlhttp.responseText;
    }
    }
    xmlhttp.readyState 4 表示请求已完成
    xmlhttp.status 200 表示响应成功
    xmlhttp.responseText; 用于获取服务端传回来的文本
    document.getElementById(‘checkResult’).innerHTML 设置span的内容为服务端传递回来的文本

Ajax实例
<!DOCTYPE html>
<html>
<head>
	<title>Ajax分布解析</title>
	<meta charset="utf-8">
	<script type="text/javascript">
		var xmlhttp;	
		function check(){
			xmlhttp = new XMLHttpRequest();	//创建XHR
			var user = document.getElementById("username").value; //获取输入的内容
			/*设置地址,不可以使用file协议,只能使用http协议*/
			var url = "http://how2j.cn/study/checkName.jsp?name="+user; 
			xmlhttp.onreadystatechange = checkResult; //设置响应函数
			xmlhttp.open("GET",url,true); //设置请求
			xmlhttp.send(null); //发送请求
		}
		function checkResult(){ //创建响应函数
			if(xmlhttp.readyState==4&&xmlhttp.status==200){
				document.getElementById("err").innerHTML = xmlhttp.responseText;
			}
		}
	</script>
</head>
<body>
	账号:<input id="username" type="text" name="user" onkeyup="check()" >
	<span id = "err"></span>

</body>
</html>

二. 基于JQuery的Ajax

提交Ajax的方式
  1. 提交ajax请求
    常见的调用方式$.ajax
    $.ajax({
    url:page, //表示访问的页面路径
    data:{“name”:value}, //表示提交的参数
    success:function(result){ //表示提交成功后返回对应的响应函数
    $("#checkResult").html(result);
    }
    })

  2. 使用get方式提交ajax

$.get{
	page,
	{"name":value},
	function(result){ //表示提交成功后返回对应的响应函数
		$("#checkResult").html(result);
	}
}

注:只有第一个参数是必须的

  1. 使用post方式提交ajax
$.post{
	page,
	{"name":value},
	function(result){ //表示提交成功后返回对应的响应函数
		$("#checkResult").html(result);
	}
}

注:只有第一个参数是必须的

  1. 使用load方式调用ajax
    $("#id").load(page,[data]);
    id: 用于显示AJAX服务端文本的元素Id
    page: 服务端页面
    data: 提交的数据,可选。
    例:
$(function(){
	$("#name").keyup(function(){
	  var value = $(this).val();
	  var page = "/study/checkName.jsp?name="+value;
	  $("#checkResult").load(page);
	});
}); 

Ajax实例

<!DOCTYPE html>
<html>
<head>
	<title>Ajax</title>
	<meta charset="utf-8">
	<script type="text/javascript" src="jquery-2.1.1.min.js"></script>
	<script type="text/javascript">
		
		$(function(){
			$("#un").keyup(function(){
				var page = "http://how2j.cn/study/checkName.jsp";
				//通过$.ajax方式
				$.ajax({
					url:page,
					data:{"name":$("#un").val()},
					success:function(result){
						$("#checkResult").html(result);
					}		
				});

				
				/*通过load方式
				var page2 = "http://how2j.cn/study/checkName.jsp?name="+$("#un").val();
				$("#checkResult").load(page2);
				*/
			});
		});
		
	</script>
</head>
<body>
	<div id = "checkResult"></div>
	<input id = "un" type="text" name="">
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值