当前位置: 首页 > news >正文

第 1 章:原生 AJAX

原生AJAX

1. AJAX 简介

  • AJAX 全称为 Asynchronous JavaScript And XML,就是异步的 JS 和 XML。
  • 通过 AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。
  • AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。

2. XML 简介

  • XML (Extensible Markup Language)可扩展标记语言。

  • XML 被设计用来传输和存储数据。

  • XML 和 HTML 类似,不同的是 HTML 中都是预定义标签,而 XML 中没有预定义标签,全都是自定义标签,用来表示一些数据。

  • 比如说我有一个学生数据:name = “孙悟空” ; age = 18 ; gender = “男” ;
    用 XML 表示:

<student><name>孙悟空</name><age>18</age><gender></gender>
</student>
  • 现在已经被 JSON 取代了。
    用 JSON 表示:
    {"name":"孙悟空","age":18,"gender":"男"}

3. AJAX 的特点

3.1 AJAX 的优点

  1. 可以无需刷新页面而与服务器端进行通信。
  2. 允许你根据用户事件来更新部分页面内容。

3.2 AJAX 的缺点

  1. 没有浏览历史,不能回退
  2. 存在跨域问题(同源)
  3. SEO 不友好

4. HTTP

HTTP(hypertext transport protocol)协议【超文本传输协议】,协议详细规定了浏览器和万维网服务器之间互相通信的规则。

4.1 请求报文

在这里插入图片描述

4.2 响应报文

在这里插入图片描述

4.3 Chrome网络控制台产看通信报文

网页F12打开控制台 -> Network -> Headers
在这里插入图片描述

5. NodeJS的安装与介绍

Node.js基础

6. express框架介绍与基本使用

因为ajax要向服务端发送请求,所以我们这里用express模拟一下服务端

6.1 express的安装

  1. 初始化npm包管理工具:npm init --yes
  2. 安装express:npm i express

6.2 使用express

// 1. 引入express
const express = require('express');// 2. 创建应用对象
const app = express();// 3. 创建路由规则
app.get('/', (request, response) => {response.send('hello express');
}// 4. 监听端口启动服务
app.listen(8000, () => {console.log("服务已经启动,8000端口监听中……);
}

6.3 启动服务

右键js文件打开终端输入:node 文件名.js
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用isolation: isolate声明隔离混合模式
  • day50——QT
  • HarmonyOS开发实战( Beta5.0)系统提供的接口实践规范
  • 从知识视角理解软件开发
  • 2023 CCPC(秦皇岛)现场(第二届环球杯.第 2 阶段:秦皇岛)部分题解
  • 【2024数模国赛赛题思路公开】国赛B题第二套思路丨附可运行代码丨无偿自提
  • 4000字三合一!Stata、SPSS、MATLAB实现多元线性回归详解!
  • 高等代数精解【9】
  • flutter开发多端平台应用的探索 上(基本操作)
  • 监理工程师职业资格考试
  • 如何在Mac电脑上本地部署Stable Diffusion:详细教程(webUI)
  • 基于SVM的手势识别,SVM工具箱详解,SVM工具箱使用注意事项
  • nnunetv2(一)配置文件和nnUNetv2_convert_MSD_dataset命令
  • JZ62 孩子们的游戏(圆圈中最后剩下的数)
  • 【Hadoop|HDFS篇】HDFS概述
  • es6(二):字符串的扩展
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Linux CTF 逆向入门
  • SQL 难点解决:记录的引用
  • 解决iview多表头动态更改列元素发生的错误
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 驱动程序原理
  • 如何在 Tornado 中实现 Middleware
  • 我与Jetbrains的这些年
  • 你对linux中grep命令知道多少?
  • #HarmonyOS:Web组件的使用
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (26)4.7 字符函数和字符串函数
  • (3)选择元素——(17)练习(Exercises)
  • (9)目标检测_SSD的原理
  • (二)丶RabbitMQ的六大核心
  • (三)mysql_MYSQL(三)
  • (四)c52学习之旅-流水LED灯
  • (算法)区间调度问题
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)memcache、redis缓存
  • (转载)利用webkit抓取动态网页和链接
  • .NET Core 中的路径问题
  • .net 获取某一天 在当月是 第几周 函数
  • .NetCore发布到IIS
  • .NET开发者必备的11款免费工具
  • .NET委托:一个关于C#的睡前故事
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @EnableWebMvc介绍和使用详细demo
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • [AHK] WinHttpRequest.5.1报错 0x80092004 找不到对象或属性
  • [android] 切换界面的通用处理
  • [Bugku] web-CTF靶场系列系列详解⑥!!!
  • [BZOJ1053][HAOI2007]反素数ant
  • [C][栈帧]详细讲解
  • [C++]模板与STL简介