首页  >  文章  >  web前端  >  Ajax实现同步和异步请求

Ajax实现同步和异步请求

不言
不言原创
2018-07-18 16:38:281840浏览

ajax有同步请求和异步请求,同步请求是指同一个时间点只允许执行一个进程,异步请求是指同一个时间点可以执行多个进程。

ajax对象.open(方式get/post,url地址,[异步true]同步false);

ajax是可以与服务器进行(异步或同步)交互的技术之一。

异步:同一个时间点允许执行多个进程。

同步:同一个时间点只允许执行一个进程。

服务器端04.php:

<?php

echo "computer";

同步请求:

客户端04async.html:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>ajax同步</title>
	<script type="text/javascript">
	alert(1234);
	</script>
</head>
<body>
	<img src="./1.png" alt="" width="400" height="300">
</body>
</html>

实现效果:


异步请求:

客户端05async.html:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>ajax同步</title>
	<script type="text/javascript">
		var xhr = new XMLHttpRequest();
		xhr.onreadystatechange = function(){
			if (xhr.readyState==4) {
				alert(xhr.responseText);
			}
		}
		xhr.open(&#39;get&#39;, &#39;./04.php&#39;, true);//异步请求
		//xhr.open(&#39;get&#39;, &#39;./04.php&#39;, false);//同步请求
		xhr.send(null);
	</script>
</head>
<body>
	<img src="./1.png" alt="" width="400" height="300">
</body>
</html>

实现效果:



    异步请求只是给用户视觉上的同时呈现,但是若ajax请求响应或img响应时间不一致也会出现先后顺序,只是同一时间点多个进程同时执行。

什么时候使用同步请求?

    ajax绝大多数情况下进行异步请求,但是有的时候也要使用“同步请求(其不能取代)。

    例如页面有两部分内容,ajax请求内容和正常的html内容输出,如果html的输出内容包括ajax请求的内容,就需要使用ajax请求完成了再进行html内容的输出,这样就要设置两者一前一后调用(而非同时调用),既要进行同步请求

相关推荐:

ajax 同步请求和异步请求的差异分析_javascript技巧

Ajax异步请求PHP数据,ajax异步php

以上是Ajax实现同步和异步请求的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn