Ajax基础知识点总结

news2024/10/6 12:27:22

努力前进

目录

为什么需要Ajax?

1.提高用户体验,实现局部刷新效果

 2.提高性能和降低带宽消耗

什么是 Ajax

Ajax 的工作原理

Ajax的工作过程分为以下几个步骤:

最基础的Ajax代码演示:

open函数中的参数分析:

在Ajax中readyState和state的区别

Ajax中readyState和status的区别:

什么是http响应状态码


为什么需要Ajax?

Ajax(Asynchronous JavaScript and XML)是一种通过JavaScript和XML进行网页异步传输的技术。它的出现主要解决了以下两个问题:

1.提高用户体验,实现局部刷新效果

在传统的Web应用程序中,当用户与服务器交互时,页面需要重新加载,这会导致用户体验不佳。而使用Ajax技术,可以在不刷新整个页面的情况下更新部分页面内容,从而提高了用户体验。

例如,在一个电商网站中,当用户点击“添加到购物车”按钮时,可以使用Ajax将商品添加到购物车中,并在页面上动态地展示购物车中的商品数量,而无需刷新整个页面。

 2.提高性能和降低带宽消耗

在传统的Web应用程序中,每次与服务器交互都需要重新加载整个页面,这会导致性能和带宽消耗的浪费。而使用Ajax技术,可以在不刷新整个页面的情况下获取所需数据,从而提高了性能并降低了带宽消耗。

例如,在一个新闻网站中,当用户点击某个分类标签时,可以使用Ajax获取该分类下的新闻列表,并仅展示所需的列表部分,而无需重新加载整个页面。

总之,我们使用的传统的像a标签(超连接)等去访问服务器获取资源的方式都无法实现页面局部刷新效果,但是Ajax却可以实现页面的局部刷新效果;

什么是 Ajax

Ajax : 即 异步JavaScript 和 XML ,Ajax 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新,而传统不使用Ajax的网页,如果需要更新内容,必需重载整个网页面。

Ajax 的工作原理

Ajax 的工作原理相当关于在用户和服务器之间加了一个中间层(Ajax 引擎),使用户操作与服务器响应异步化,并不是所有的用户请求都提交给服务器。像一些数据验证和数据处理等都交给Ajax 引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax 引擎代为向服务器提交请求。

Ajax的工作过程分为以下几个步骤:

  1. 用户与浏览器交互,触发事件(如点击按钮)。

  2. JavaScript代码执行,创建XMLHttpRequest对象,并指定回调函数。

  3. XMLHttpRequest对象向服务器发起异步请求,发送数据。

  4. 服务器接收请求并处理数据,将结果返回给XMLHttpRequest对象。

  5. XMLHttpRequest对象将服务器响应传递给回调函数进行处理。

  6. 回调函数更新页面内容,展示最新的数据。

最基础的Ajax代码演示:

//new XMLHttpRequest对象
var xhr = new XMLHttpRequest();
//调用回调函数
xhr.onreadystatechange = function(){
    if (this.readyState == 4) {
            if (this.status == 200) {
                 var jsonobj = JSON.parse(this.responseText);
                 jsonstr.success(jsonobj)
             } else {
                  alert(this.status)
             }
     }
}
//打开通道并传入必要参数(请求方式、url、是否支持异步)
xhr.open("GET"," url",true)
//发送数据
xhr.send()

open函数中的参数分析:

1、method 参数是用于请求的 HTTP 方法。值包括 GET 、POST、HEAD、PUT、DELETE(不区分大小写)

2、url 参数是请求的主体。大多数浏览器实施了一个同源安全策略,并且要求这个URL 与包含脚本的文本具有相同的主机名和端口

3、async 参数指示请求使用应该异步执行。如果这个参数为 false,代表请求是同步的,后续对 send() 的调用将阻塞,直到响应完全接受;如果这个参数是 true 或省略,请求是异步的,且通常需要一个 onreadystatechange 事件句柄。

在Ajax中readyState和state的区别

    在Ajax中,正确的术语是readyState和status而不是state。readyState指XMLHttpRequest对象的当前状态,其值从0到4变化,表示请求的不同阶段(初始化、载入数据、处理数据、完成请求)。而status则是HTTP响应的状态码,表示服务器返回的状态信息,例如200表示成功,404表示未找到请求的资源。

详细区别:

 

Ajax中readyState和status的区别:

属性描述
readyStateXMLHttpRequest对象的当前状态,范围从0到4。
0(UNSENT)XMLHttpRequest已创建,但未打开(未调用open方法)。
1(OPENED)open方法已经被调用,但send方法未被调用。
2(HEADERS_RECEIVED)send方法已经被调用,并且头部和状态已经可获得。
3(LOADING)下载中; responseText 属性已经包含部分数据。
4(DONE)请求操作已完成。这意味着响应数据已经完全接收。
statusHTTP响应状态码,表示服务器返回的状态信息。
200"OK"。请求成功。
404"Not Found"。请求的资源不存在。
500"Internal Server Error"。服务器遇到了一个错误。

请注意,"state"不是Ajax中的正确术语,应该使用"status",我在表格中更正。

什么是http响应状态码

HTTP响应状态码是Web服务器向客户端(如浏览器)发送的3位数字代码,用于表示特定HTTP请求的结果。它们由Web服务器生成,以指示请求是否成功完成,并告诉客户端如何处理响应数据。

HTTP响应状态码分为5个类别:

  • 1xx (Informational):请求已被接受,需要继续处理。

  • 2xx (Successful):请求已成功被服务器接收、理解、并接受。

  • 3xx (Redirection):需要客户端进一步操作才能完成请求。

  • 4xx (Client Error):客户端请求包含语法错误或无法完成请求。

  • 5xx (Server Error):服务器无法完成明显有效的请求。

常见的HTTP响应状态码包括200 OK表示请求成功,404 Not Found表示请求资源不存在,500 Internal Server Error表示服务器内部错误等。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/548508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Dijkstra单源最短路

Dijkstra单源最短路径 什么是单源最短路径 描述:给定一个带权有向图G (V,E),其中每条边的权时非负数。另外,给定V中的一个顶点,称为源。现在要计算从源到所有其他各顶点的最短路长度。这里路的长度是指路上各边权之…

数据在 Mocaverse 项目启动过程中是如何发挥作用的

日期:2023年5月 数据源: Mocaverse Realm Ticket Collection Airdrop & Mocaverse Optimizes an NFT Project at Launch & Beyond NFT 是 Web3 社区的基础。它们是区块链游戏、DAO 和 metaverses 的入场券,以及成为社区参与者的数字…

[创业之路-69]:对管理理念的理解和解读

目录 前言: 一、管理者与领导者的区别 二、管理活动的分类 三、业务管理:以终为始 3.1 业务目标到高效执行 (1)先明确要做哪些正确的事 》 需求分析、目标 (2)再明确怎样正确的做事 》 设计、实现 …

chatgpt赋能Python-python3_pygame

Python3 Pygame:游戏引擎进入开发者的时代 Python是一种常用的编程语言,有许多优秀的库和框架,而其中Pygame是许多游戏开发者的首选。Pygame是一个用Python编写的开源软件包,旨在帮助游戏制作者创建交互式游戏和媒体程序。在本篇…

OpenCV基础操作(2)OpevCV算术运算

OpenCV基础操作(2)OpevCV算术运算 import cv2 as cv import numpy as np一、图像的基础操作 1、获取并修改像素值 你可以根据像素的行和列的坐标获取他的像素值。 对 BGR 图像而言,返回值为 B,G,R 的值。对灰度图像而言,会返回他…

微信小程序node+vue+uniapp课程在线答疑学习答题考试系统

系统主要分为管理员和学生、教师三部分,管理员服务端:首页、个人中心、学生管理、教师管理、课程资源管理、课程类型管理、学习记录管理、系统管理,教师服务端:首页、个人中心、课程资源管理、学习记录管理、试题管理、试卷管理、…

JAVA期末考内容知识点的梳理

作者的话 前言:这些都是很基本的,还有很多没有写出来,重点在于考试复习,包括后四章的内容 前面内容请参考JAVA阶段考内容知识点的梳理 一、集合、流 课堂总结1集合 集合概念: 保存和盛装数据的容器,将许多…

maven的常用命令clean/package/install/deploy

如标题,下面放图: 這就是一个pom对应的maven操作命令, 那这些命令中,最常用的打包项目的命令是什么? 两种最常用打包方法: 1.先 clean,然后 package2.先 clean,然后install 下面…

实验四 车辆定位导航

有想自己动手的同学可在末尾看教程 【实验目的】 1、了解全球定位导航系统的定位原理和电子地图技术,掌握电子地图API使用方法。 2、了解导航数据报文数据格式,解析导航数据并在电子地图上进行导航应用。 【实验性质】 验证性实验。 【实验要求】 1、相…

【动态规划专栏】--基础-- 动态规划经典题型

目录 动态规划 动态规划思维(基础) 状态表示(最重要) 状态转移方程(最难) 初始化(细节) 填表顺序(细节) 返回值(结果) 1、第 …

C++实现日期类Date(超详细)

个人主页:平行线也会相交💪 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【C之路】💌 本专栏旨在记录C的学习路线,望对大家有所帮助🙇‍ 希望我们一起努力、成长&…

C++笔试笔记2

C笔试笔记2 百富计算机的笔试 const限定符:首先作用于左边,如果左边没东西,就作用于右边。 const int: 左边没有内容,所以const作用于右边,就是“整型常量”。等同于int const; int * const&am…

NSS LitCTF部分wp

web 1、PHP是世界上最好的语言!! 直接cat flag flagNSSCTF{11eaebe0-3764-410d-be83-b23532a24235} 2、这是什么?SQL !注一下 ! 直接查询,发现注入点是id 使用sqlmap列出所以数据库 ​sqlmap -u "h…

亚马逊,shopee,lazada卖家如何组建自己的测评团队

测评补单,这个话题在如今不管国内还是国外的电商行业已经是众所周知,它能够快速帮助自己的产品添加评论,获取排名,打造爆款,可以让用户更加真实、清晰、快捷的了解产品,以及产品的使用,快速上手…

低代码,或将颠覆开发行业?

前言 传统的软件开发过程往往需要耗费大量的时间和精力,因为开发人员需编写复杂的代码以完成各种功能。 低代码行业的发展,正好解决了这个问题,让复杂的代码编写一去不复返了。 文章目录 前言引入强大的平台总结 引入 低代码平台 是一种通过可…

【团购-HeaderView Objective-C语言】

一、那么,我们看上面这个东西,这就是我们保存在HeaderView里面的一个东西吧, HeaderView里面的一个东西, 1.因为这个东西,看起来,是不是也是一个这个样子,也是一个固定的样子啊, 所以我们这个UITableView的HeaderView,也可以使用一个xib来描述,也可以使用xib来描述,…

D. The Wu(数据范围)

Problem - D - Codeforces Childan正在编造一个传奇故事并试图出售他的伪造品——一条带有强烈“Wu”感的项链给Kasoura家族。但是,Kasoura先生正在质疑Childan故事的真实性。因此,他将询问有关Childan所谓的“个人珍藏”项链的一些问题。 这个“个人珍…

k8s系列(三)——补充内容

k8s架构补充 高可用集群副本数最好是 > 3 奇数个 master节点 scheduler 调度器,负责介绍任务,选择合适的节点进行分配任务 决定将任务分配至哪个node节点中,与api server进行交互 api server 所有服务访问的统一入口 压力巨大&…

计算机组成原理-计算机系统概述

目录 一,基本组成 二、各部件工作原理 2.1存储器 2.2运算器 2.3控制器 2.4输入设备 2.5输出设备 一条指令的工作原理 三、计算机系统的层次结构 三种基本语言 四、计算机性能指标 一,基本组成 “存储程序”的概念,指将指令以二进制代码的…

English Learning - L3 作业打卡 Lesson2 Day14 2023.5.18 周四

English Learning - L3 作业打卡 Lesson2 Day14 2023.5.18 周四 引言🍉句1: A brown out is an expression for a reduction in electric power.成分划分弱读连读爆破语调 🍉句2: Brown outs happen when there is too much demand for electricity.成分…