ajax介绍

当当当~ 学习了一天,终于晚上有时间来总结今天的知识啦,今天我们学习了阿贾克斯ajax,嗯…… 我还是第一次听说这个阿贾克斯,感觉很新鲜,学的也比较认真,但是刚刚接触还是非常不熟练,特来此记录一下,也当督促自己啦!!

 

1.什么是Ajax

js提供的一种异步请求服务器的技术

传统的请求---同步,请求之后,浏览器要等待服务器响应

ajax请求---异步,请求之后,浏览器不需要等待服务器响应,继续可以做网页操作,响应什么时候回来,什么时候再处理,用户体验好

特点:页面局部刷新

1.2典型应用

谷歌地图---推广了ajax

百度搜索

登录、注册

注册时候的账号验证

2、js实现ajax

readyState的值0 1 2 3 4

0 - (未初始化的时候) 任何request对象新构造出来的时候readyState就为0

未准备好

1 - (设置初始状态, 并没有发送请求)request对象调用open方法readyState就变成了1

准备好了

2 - (发送完成) send方法执行完成的时候, 这个方法是异步方法,所以不能直接活的状态.需要监听事件, 事件名称为readystatechange

发送走了

3 - (等待解析状态的完成) 也是一个异步事件, 此时是在后台去处理

等待接收

4 - (解析处理完成) 后台接受数据并返回成功

接收完成

2.1get方式

//1、创建ajax对象-----request对象---XMLHttpRequest
var request = new XMLHttpRequest();
//通过ajax状态改变事件,设置回调函数(响应回来)
request.onreadystatechange = function() {
	if(request.status==200 && request.readyState == 4){
		//开始处理响应数据
		alert(request.responseText);
	}
}
//发送请求
request.open("get", "data.txt?sid=101" );
request.send();

2.2post方式

//创建ajax对象-----request对象---XMLHttpRequest
var request = new XMLHttpRequest();
//通过ajax状态改变事件,设置回调函数(响应回来)
request.onreadystatechange = function() {
	console.log(request.readyState);
	if(request.status==200 && request.readyState == 4){
		//开始处理响应数据
		alert(request.responseText);
	}
}
//发送请求
request.open("post", "data.txt" );
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
request.send();

3、jQuery实现ajax

$.ajax({

url:'',//请求的路径

data:'',//发送的数据

type:'',//请求的方式get、post

dataType:'',//响应的数据类型xml、html、text、json

success: function(res){//回调函数

//res响应的数据

}

})

3.1编号验证

$("#cid").blur(function() {
	//ajax验证账号是否可用
	$.ajax({
		url:'ClassSelectCid',
		data: 'cid='+this.value,
		type: "post",
		success: function(res) {
			//1账号存在  0不存在
			if(res == "1"){
				$("#msg_cid").text("×账号不可用或服务器异常").css("color","red")
			}else{
				$("#msg_cid").text("√账号可用").css("color","green")
			}
		}
	})
})

就是这种效果啦

4、json数据传递

如果传递对象、集合,该如何解决?

js---json对象------特殊格式的字符串,描述一个对象或对象数组

json格式---编程语言普遍都支持

{"属性名": 属性值, "属性名": 属性值, ...}---对象

标准写法:属性名要加双引号,值若是字符串,也必须加双引号

[{},{}]---对象数组---list

js写法:属性名可以省略引号,单引双引都可以

练习:实现班级、学生下拉列表级联操作

如图所示嘿嘿!

 做了简简单单的整理,今天的学习就到这里啦,明天继续努力鸭~~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值