同步_异步请求和Ajax并利用axios框架简化

目录

同步和异步

原生的Ajax

创建XMLHttpRequest对象

常用方法

常用属性

axios框架


同步和异步

同步请求:发送请求后,会做出回应,回应的内容会覆盖浏览器中的内容,这样会打断其他正常的操作,显得不太友好,并且请求时会携带所有的信息。

异步请求:前端正常输入时,可以同时与后端进行交互,后端相应的数据不会影响前端的正常操作,可以使用一个js中提供的对象,向后端发送请求, 服务器响应的内容,会被js对象接收.然后在js中,用接收到内容的,局部的更新网页,这样整个过程页面不会出现刷新,覆盖操作。

原生的Ajax

异步技术,Ajax其实质是利用浏览器提供的一个特殊的对象(XMLHttpRequest) 异步地向服务器发送请求

创建XMLHttpRequest对象

XMLHttpRequest对象:发送请求到服务器并获得返回结果。

所有现代浏览器 都内建了 XMLHttpRequest 对象,通过一行简单的 JavaScript 代码,我们就可以创建 XMLHttpRequest 对象。举例:对一个提交账号表单做简单验证,反馈给后端

<body>
		<script>
			function checkAccount(account){
				var httpobj = new XMLHttpRequest();
				httpobj.open("get","http://127.0.0.1:8080/webBack/reg?account="+account,true);
				httpobj.send();
				httpobj.onreadystatechange = function(){
					//接收后端的数据
					document.getElementById("aid").innerHTML = httpobj.responseText;
				}
			}
		</script>
		<form method="post">
			账号:<input type="text" name="account" value="" onblur="checkAccount(this.value)"><span id="aid"></span><br>
		</form>
</body>

常用方法

方法名说明
open(method,URL,async)建立与服务器的连接 method参数指定请求的HTTP方法,典型的值是GET 或POST URL参数指定请求的地址 async参数指定是否使用异步请求,其值为true或 false
send(content)发送请求 content参数指定请求的参数
setRequestHeader(header,value)设置请求的头信息

常用属性

onreadystatechange:事件,指定回调函数

readystate: XMLHttpRequest的状态信息

responseText:获得响应的文本内容

axios框架

1.下载axios文件 https://unpkg.com/axios/dist/axios.min.js

2.导入项目

3.发送请求:和上文实现的效果是一样的,但代码更加简介

<script>
			function checkAccount(account){
				axios.get("http://127.0.0.1:8080/webBack/reg?account="+account).then(function(resp){
					document.getElementById("aid").innerHTML=resp.data;//默认json格式
				})
			}
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 异步请求 异步请求是指应用程序在向服务器请求数据的同时,不会暂停应用程序的执行。相反,它会继续执行其它任务。这样,用户可以继续与应用程序交互,而不必等待请求完成。 2. XMLHttpRequest (XHR) XHR 是一种 API,可用于通过 JavaScript 进行 HTTP 请求和响应。XHR 支持异步请求和传输数据的各种方法,可以通过它来读取远程文件或提交到服务器上的表单数据,从而更新网页内容,而不必重新加载整个页面。 3. AJAX AJAX 是一种使用 XHR 实现的术语,指异步 JavaScript 和 XML。它可以在不刷新整个页面的情况下,通过与服务器交互来更新部分页面内容。AJAX 可以用于创建动态和交互性更强的网站。 4. Axios Axios 是一个基于 Promise 的 HTTP 加载库,用于浏览器和 Node.js。它支持异步操作,并可以在浏览器和服务器间发送 HTTP 请求和接收响应。Axios 还支持请求和响应拦截,以及用于处理错误的插件。 5. Fetch Fetch 是一种现代的接口,用于从服务器获取资源。它使用 Promise,提供了更简洁的 API 和更可靠的错误处理。Fetch API 在原生 JavaScript 中可用,并且不需要像 XHR 一样进行实例化。Fetch API 可以在浏览器和服务器上使用。 综上所述,XHR 和 AJAX 是比较基础的异步请求方式,而 Axios 和 Fetch 更加优秀和高效。Axios 可以说是在 XHR 之上的一种封装,提供了更加简洁和易用的 API。而 Fetch 则是一种更加现代的方式,比较适合在原生 JavaScript 中使用。不同的异步请求方式,在不同的场景和需求下,有着各自的优缺点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值