首页 > 编程知识 正文

ajax是异步还是同步,promise是同步还是异步

时间:2023-05-03 10:13:41 阅读:266888 作者:59

https://www.easy-mock.com/docs

[TOC]

## 1.什么是Ajax

Asynchronous JavaScript and XML

(异步的JavaScript 和XML)

- Ajax不是某种编程语言

是一种在无需重新加载整个网页的情况下,能够局部更新网页的技术

## 2.同步和异步

### 2.1 同步

![](https://box.kancloud.cn/06659aadacf4877904e9d3f5e73fcf8f_690x300.png)

![](https://box.kancloud.cn/1a40bb8441808151d85ffce7ebd4dfd3_631x378.png)

等待五分钟后

![](https://box.kancloud.cn/b643b31ea92b99e4d6c20da4ecd4d904_689x382.png)

![](https://box.kancloud.cn/fa1c1c61501928de34cf6b44be9318b7_670x402.png)

提交之后再等待五分钟

![](https://box.kancloud.cn/ff9265738459301d997bd8ca0abea610_674x325.png)

![](https://box.kancloud.cn/08b854218a79d1a4a50f5a66f8b6c06d_713x323.png)

![](https://box.kancloud.cn/c210a5275c653fc771c9a0f93d9c1480_711x385.png)

这就是ajax出来之前的真实场景,填写表单就是噩梦。

![](https://box.kancloud.cn/06659aadacf4877904e9d3f5e73fcf8f_690x300.png)

>客户端向服务器请求数据的过程中,用户除了等待还是等待。

### 客户端在等待服务器端响应的过程中,不能做任何事情,这就是同步

### 2.2异步

![](https://box.kancloud.cn/e39f15639aa74a8865d24de0d63f51b2_651x365.png)

![](https://box.kancloud.cn/d062b6fa535f32a8d7567e60ae99938a_689x308.png)

当填写到邮箱地址

![](https://box.kancloud.cn/a5d03ed713ce605f910a6ff7cd9a0ddd_648x339.png)

异步:客户端发起请求,在服务器端响应的过程中,可以进行其他的操作

所有的现代浏览器,都支持Ajax,IE6以下不支持

![](https://box.kancloud.cn/c8fbcff90e300fa4fb39cf6058541776_753x283.jpg)

![](https://box.kancloud.cn/cf8b6c0b0950db2a5241ebd3d3b5496e_597x314.png)

## 3.JSON数据

![](https://box.kancloud.cn/2d9347c058312f8c661d76b70b32a019_726x318.png)

![](https://box.kancloud.cn/7a431860cea3b5ebcbc4f23bd4ff10e5_704x375.png)

JSON的解析

使用JSON.parse()

## 4.如何使用ajax

A.HTML和CSS实现页面

B.Ajax和Web服务器进行数据的异步交换

C.运用JS操作DOM实现动态的局部刷新

### 4.1创建Ajax核心对象

![](https://box.kancloud.cn/cf8b6c0b0950db2a5241ebd3d3b5496e_597x314.png)

## 3.JSON数据

![](https://box.kancloud.cn/2d9347c058312f8c661d76b70b32a019_726x318.png)

![](https://box.kancloud.cn/7a431860cea3b5ebcbc4f23bd4ff10e5_704x375.png)

JSON的解析

使用JSON.parse()

## 4.如何使用ajax

A.HTML和CSS实现页面

B.Ajax和Web服务器进行数据的异步交换

C.运用JS操作DOM实现动态的局部刷新

### 4.1创建Ajax核心对象

~~~

var xhr = new XMLHttpRequest();

var xhr;

if(window.XMLHttpRequest){

xhr = new XMLHttpRequest;

}else {

//ie6

xhr = new ActiveXOject("Microsoft.XMLHTTP")

}

~~~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。