简单理解ajax

一、什么是ajax

ajax是一个近几年在前端开发中经常听到的名词,啥是ajax啊?

首先,ajax不是一门编程语言,它是一种技术,它的作用是减少网络传输量,提高了用户体验.

咋来提高用户体验啊,并不是嘴上说说,它最大的特点就是在不刷新页面的前提下,能获取数据.

举几个小例子先:

比如,去百度搜索,输入”飞思”,下面出现一大堆的与”飞思”这个关键字相关的提示.

简单理解ajax

这里就是用到了ajax,浏览器通过ajax将请求发到服务端,服务端再返回接口.不用刷新,就能完成.

再比如哈,小米商城,鼠标滑到一级标题,二级标题就滑到相应的模块.

简单理解ajax

这里也用到了ajax技术,在不刷新的情况下,滑到哪里,就加载对应的模块出来.用到就加载,不用就不加载,实现了一个懒加载的效果.

一句话总结:使用ajax,不用刷新,也能获取数据!!!牛逼

二、ajax的原理

明白了ajax是干什么的,底层原理也来了解一波.

简单理解ajax

简单明了的图,首先浏览器通过ajax向服务器发送请求,服务器接收到ajax的请求,返回数据给ajax,ajax再通知浏览器,然后使用js来渲染数据.

你来我往,一来一回

再了解一点,在服务器返回数据给ajax时,ajax用json格式存储,

简单理解ajax

三、使用ajax

介绍一波原生ajax的使用:

1.创建AJAX核心对象XMLHttpRequest

2.向服务器发送请求报文

ps:要是是get类型,它的数据就存在url里,要是post类型,它的请求报文里,报文头必须得写上.

3.服务器响应处理,返回响应报文

ps:返回的响应报文里,在响应行,要是返回的状态为200,congratulation!!!

四、再学一点

上面那个原理图,里面的请求报文和相应报文

它们的格式都由四部分组成

请求报文

请求行: 请求类型 url http协议版本
请求头: host,cookie,content-type(请求类型)
空行
请求体:get请求头可以为空

相应报文

响应行:协议版本 相响状态码 状态字符串
响应头:
空行
响应体:html里的标签

Original: https://www.cnblogs.com/pilpill/p/16739679.html
Author: Tmillion
Title: 简单理解ajax

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/587022/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java有几种文件拷贝方式,哪一种效率最高?

    常见的有三种文件拷贝方式 io下的包会把数据从内核态拷贝到用户态,nio下的包则可以避免不必要的拷贝和上下文切换提高数据拷贝的效率。 Original: https://www.c…

    Java 2023年5月29日
    087
  • Java_图片切片

    package com.creditease.fetch.credit.util.similarity; import java.awt.image.BufferedImage; …

    Java 2023年5月29日
    080
  • Elasticsearch必备原理理解

    Elasticsearch读写原理 心得: 主分片、副本分片的存在类似各大组件的”主从结构”,需要注意的是,Elasticsearch的写入是针对 主分片,…

    Java 2023年6月6日
    084
  • Spring 源码(15)Spring Bean 的创建过程(6)对象的提前暴露

    知识回顾 解析完 Bean信息的合并,可以知道 Spring在实例化 Bean之后,属性填充前,对 Bean进行了 Bean的合并操作,这里的操作主要做了对 Bean对象标记了 @…

    Java 2023年6月14日
    083
  • 30个类手写Spring核心原理之自定义ORM(下)(7)

    本文节选自《Spring 5核心原理》 3 基于Spring JDBC实现关键功能 3.1 ClassMappings ClassMappings主要定义基础的映射类型,代码如下:…

    Java 2023年6月7日
    097
  • SpringMVC(7)-ssm整合实现增删改查-SpringMVC层

    1引言:这里主要做三件事 1.1resources文件夹下创建spring-mvc.xml并配置:开启注解驱动(mvc:annotation-driven),静态资源过滤(mvc:…

    Java 2023年6月9日
    083
  • 如何使Session永不过期

    先说明情况:公司做监控系统,B/S结构,主要用在局域网内部!监控系统开机可能要开好长时间,管理员的ID 和权限等是写在Session里的——我想不用Cookies的原因可能是Coo…

    Java 2023年5月30日
    084
  • 浅析关于java的一些基础问题(上篇)

    要想让一个问题变难,最基本有两种方式,即极度细化和高度抽象。对于任何语言的研究,良好的基础至关重要,本篇文章,将从极度细化的角度 来解析一些java中的基础问题,这些问题也是大部分…

    Java 2023年5月29日
    083
  • 头秃了,使用@AutoConfigureBefore指定配置类顺序竟没生效?

    日常工作中对于 Spring Boot 提供的一些启动器可能已经足够使用了,但是不可避免的需要自定义启动器,比如整合一个陌生的组件,也想要达到开箱即用的效果。 这篇文章将会介绍如何…

    Java 2023年6月14日
    076
  • 基于Dom4j实现javaBean转xml的功能

    一、前言前面实现了xml转javaBean的功能,今天继续完成javaBean转xml的功能。这一块实现的比较早现在看来可能有很多可以优化的地方(也说明了我有成长) 三、功能实现 …

    Java 2023年6月14日
    0100
  • 开发必备linux命令大全-稳赚不亏

    我们的服务一般都是在linux系统运行,因此了解一些关于linux命令是必须。接下来将一一详细介绍一些常用的linux的命令 文件操作 远程登录与操作 磁盘挂载 进程管理 启动和结…

    Java 2023年6月5日
    091
  • 八、Java面向对象编程

    Java面向对象 初识面向对象 面向过程 & 面向对象 面向过程思想 步骤清晰简单,第一步做什么,第二部做什么… 面对过程适合处理一些较为简单的问题 面向对象思…

    Java 2023年6月7日
    082
  • 设计模式之责任链模式

    责任链模式又称职责链模式,属于行为型模式;在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请…

    Java 2023年6月5日
    0102
  • python的三层架构

    项目目录规范 Foo/ |– core/ # 存放业务逻辑相关代码 | |– core.py | |– api/ # 存放接口文件,接口主要用于为业务逻辑提供数据操作。 | …

    Java 2023年6月7日
    0105
  • 启用DataGrid行内编辑器

    @author YHC 可编辑的功能是最近添加到datagrid的,它可以使用户添加一个新行到datagrid,用户也可以更新一个或多个行. 这个教程向你展示如何创建一个datag…

    Java 2023年5月29日
    086
  • 条件注解@Conditional

    SpringBoot条件注解@Conditional,可用于根据某个特定的条件来判断是否需要创建某个特定的Bean。SpringBoot自动配置功能里面就大量的使用了条件注解。接下…

    Java 2023年6月5日
    0114
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球