IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> AJAX(Asynchronous Javascript And XML) -> 正文阅读

[JavaScript知识库]AJAX(Asynchronous Javascript And XML)

  AJAX,async javascript and XML(异步JavaScript和XML)。

  AJAX 是在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术。

  在没有JQuery之前,我们一般的代码都像下面:

<script type="text/javascript">
	window.onload=function(){
		document.getElementByID("btnGetUser").onclick=function{
			//1、创建异步对象
			var xhr=new XMLHttpRequest();
			//2、为异步对象设置请求方式
			xhr.open("get","getUser.php",true);
			//3、关闭使用浏览器缓存
			xhr.setRequestHeader("If-Modified-Since",0);
			//4、为异步对象的onreadystatechange事件绑定方法(添加回调函数)
			xhr.onreadystatechange=function(){
				//如果xhr的准备状态等于4,说明已经从服务器获得了请求报文,响应报文里的状态码是200,说明服务器运行正常
				if(xhr.readyState==4&&xhr.status==200){
					//接收返回值
					var res=xhr.responseText;
					//更新页面
					document.getElementByID("divUser").innerHTML=res
				}
			}
			5、发送请求
			xhr.send(null);
		}
	};
</script>

  在JQuery出现后,我们用的多的往往是下面的形式:

		$.ajax({
			type:get/post,
			url:请求地址,
			async:是否异步(默认是true),默认true表示异步,
			data:发送到服务器的数据,
			datatype:预期服务器返回的数据类型,
			contentType:请求头,
			success:function(data){//请求成功时
				
			},
			error:function(data){//请求失败时
				
			}
		})

  一般设置四个参数即可:type、url、data、success。

  实际上,JQuery中总封装了四种使用样式:

		$.ajax({
			type:"get",
			url:"data.txt",
			success:function(data){
				console.log(data);
				// 将字符串转换为JSON格式
				let obj=JSON.parse(data);
				console.log(obj);				
			}			
		});
		

		$.get("data.txt",function(data){
			console.log(JSON.parse(data));
		});


		$.post("data.txt",function(data){
			console.log(JSON.parse(data));
		});

		
		$.getJSON("data.json",function(data){
			console.log(data);
		});

  只是我们一般习惯了使用$.ajax这样的方式,也可以根据需要选择相应的方式。

  向后台传递参数,我们一般传递的是JSON格式的对象,也可以使用form封装方式:

let wordFile = document.getElementById('readFile');
const fd = new FormData();//FormData构造器接收的是一个form的DOM对象
fd.append("wordFile",wordFile.files[0]);//Word文件数据
fd.append("c01",$('#Dc01').val());//文件名
fd.append("c02",fileExt);//文件后缀
fd.append("c03",$('#Dc03').val());//选择分类
fd.append("c04",$('#Dc04').val());//上传人
fd.append("c05",$('#Dc05').val());//上传时间
fd.append("c07",$('#Dc07').val());//说明
fd.append("c08",$('#Dc08').val());//说明
fd.append("OP","新增");//操作类型
$.ajax({						
	url: 'ZTBHTDocxFile.php',
	type: "POST",
	data: fd,
	dataType: "JSON",
	async: false,
	processData: false,//设置为false,JQuery则不对数据进行序列化
	contentType: false,//设置为false,JQuery则不设Content-Type请求头
	beforeSend: function(xhr){
	},
	complete: function(xhr,status){
	},
	error: function(xhr,status,error){
		console.log("xhr:"+xhr);
		console.log("status:"+status);								
		console.log("error:"+Error);
	},
	success: function(result){
				//刷新父窗口表格
				parent.layui.$(".layui-laypage-btn")[0].click();
				// 关闭弹出层
				var iframeIndex = parent.layer.getFrameIndex(window.name);
				parent.layer.close(iframeIndex);																								
	}
});			

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:32:01  更:2022-05-18 17:34:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:03:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码