当前位置: 首页 > news >正文

ajax的简单了解,适合刚进门 的,注释相对比较详细

	<!-- ajax
	是js的能力、手段 
	是js与php交互的方法
**解析ajax的字面意义**
	a--async 异步
	j--javascript 基于对象和事件驱动的客户端脚本语言
	a--and 和 
	x--xml 可扩展标记语言
	
	 ajax方法不是很兼容 所以也要考虑兼容IE6 7 8 
	 -->
	<script type="text/javascript">
		// 发送ajax请求的方法和注意事项
		
		let url=''//为了方便,一般会把url的地址放在外边,以参数的形式代替
		// 1 创建ajax对象
		let xhr=new XMLHttpRequest()//同步的创建一个对象  //0 创建ajax对象成功
		
		// 5 ajax的状态码改变的事件
		xhr.onreadystatechange=function(){
			// 只要ajax的状态码改变聚会触发,打印4次的执行结果
			// 0-1 1-2 2-3 3-4 这4次
			console.log(xhr.readyState)//1 2 3 4
			// 在这个地方如果加上一个判断
			// 当响应体回到了浏览器,但是还没有经过解析还不能使用的时候的情况
			// 也就是等于2 的时候,2 代表了他回到了浏览器,但是还不能使用
			if(xhr.readyState===2){
				console.log('测试回到了浏览器还不能使用,就打印,否则不打印')
			console.log(xhr.responseText)//打印响应体,此时应该是个空的
			}
			// 在给一个判断,当浏览器解析完毕的时候
			if(xhr.readyState===4){
				console.log('浏览器已经解析完毕,可以正常使用响应体')
				console.log(xhr.responseText)//打印响应体 此时应该的到的是返回值,也就是后端的数据
			}
		}
		
		// 2 配置请求信息
		xhr.open ('get',url,true)//同步的配置信息,第三个参数决定了send的发送请求方式。  //1 代表配置信息成功
		// true代表着异步 也可以不写。默认的就是true 。。false代表同步
		// 4 接受响应
		// xhr.onload=function(){//同步的接受响应
		// 	console.log(xhr.responseText)
		// }
		// 3 发送请求
		xhr.send()//异步的发送请求/// 2 3 4直接变成4 
		
		// 验证ajax的状态码
		// 通过 ajax对象.readyState方法,打印xhr就可以看到返回值的变化
		// 0 代表创建ajax对象成功,
		// 1 代表配置信息成功
		// 2 代表响应体已经回到浏览器但还不能使用,因为还有一个响应报文
		// 3 代表浏览器正在解析响应报文(把响应报文里面的响应体分离出来)
		// 4 浏览器分离响应体成功,本次请求结束
	</script>

相关文章:

  • Android——shape和selector和layer-list的(详细说明 转)
  • ajax的兼容问题
  • 对象管理器(defineProperty)学习笔记
  • ajax的登录页面,发送post方式
  • AHK 中 = 和 == 等比较运算符的用法
  • nodejs的简单分析理解
  • NPM的操作步骤
  • Zabbix监控Windows主机
  • promise解决回调地狱的方法之一
  • HTML5的兼容性测试
  • 为了Cisco UC,36年来家中第一次安装固话
  • 链式调用和解决回调地狱的终极解决方法async,await
  • jquery的使用
  • 探究JVM——垃圾回收
  • jQuery的节点操作
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Angular数据绑定机制
  • javascript从右向左截取指定位数字符的3种方法
  • Odoo domain写法及运用
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 记录一下第一次使用npm
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 数据科学 第 3 章 11 字符串处理
  • 数组的操作
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 正则表达式小结
  • ionic入门之数据绑定显示-1
  • MPAndroidChart 教程:Y轴 YAxis
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 浅谈sql中的in与not in,exists与not exists的区别
  • #pragma预处理命令
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (AngularJS)Angular 控制器之间通信初探
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (七)理解angular中的module和injector,即依赖注入
  • (三)elasticsearch 源码之启动流程分析
  • (转)h264中avc和flv数据的解析
  • .dwp和.webpart的区别
  • .NET Core 项目指定SDK版本
  • .Net Core与存储过程(一)
  • .net framework profiles /.net framework 配置
  • .Net FrameWork总结
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET大文件上传知识整理
  • .NET关于 跳过SSL中遇到的问题
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...