AJAX之基础知识

news2024/11/20 10:26:43

目录

    • AJAX入门及axios使用
      • 什么是AJAX
      • 怎么用AJAX
    • 认识URL
      • 协议
      • 域名
      • 资源路径
      • URL查询参数
    • 查询参数
      • URL查询参数
      • axios查询参数
    • 常用请求方法
      • axios请求配置
    • axios错误处理
    • HTTP协议
      • 请求报文
      • 请求报文-错误排查
      • 响应报文
      • HTTP响应状态码
    • form-serialize插件

AJAX入门及axios使用

什么是AJAX

AJAX是异步的JavaScript和XML。简单说是使用XMLHttpRequest对象与服务器通信,是浏览器与服务器进行数据通信的技术

怎么用AJAX

语法:

  1. 引入axios.js(axios库):http://cdn.jsdelivr.net/npm/axios/dist/axios.min.js
  2. 使用axios函数:传入配置对象,再用.then回调函数接收结果,并作后续处理
axios({
    url:'目标资源地址'
}).then((result) => {
    <!-- 对服务器返回的数据做后续处理 -->
})

认识URL

URL就是统一资源定位符,简称网址,用于访问网络上的资源
协议://域名/资源路径

协议

http协议:超文本传输协议,规定浏览器与服务器之间传输数据的格式
在这里插入图片描述

域名

标记服务器在互联网中的方位
在这里插入图片描述

资源路径

标记资源在服务器下的具体位置
在这里插入图片描述

URL查询参数

浏览器提供给服务器的额外信息,让服务器返回浏览器想要的数据
语法:http://xxxx.com/xxx/xxx?参数名1=值&参数名2=值
即在资源路径后面加?再写参数名=值

查询参数

URL查询参数

浏览器提供给服务器的额外信息,让服务器返回浏览器想要的数据
语法:http://xxxx.com/xxx/xxx?参数名1=值&参数名2=值
即在资源路径后面加?再写参数名=值

axios查询参数

语法:使用axios提供的params选项
注意:axios在运行时把参数名和值拼接到url后面

axios({
    url:'目标资源地址',
    params:{
        参数名:值
    }
})

常用请求方法

请求方法:对服务器资源,要执行的操作,默认为’get’
在这里插入图片描述

axios请求配置

url:请求的URL地址
params:查询参数
method:请求的方法,GET可以省略(不区分大小写)
data:提交数据

axios({
    url:'目标资源地址',
    method:'请求方法',
    data:{
        参数名:值
    }
}).then((result) => {
    <!-- 对服务器返回的数据做后续处理 -->
})

axios错误处理

在.then方法的后面,通过点语法调用catch方法,传入回调函数,顶顶一形参
语法:

axios({
    url:'目标资源地址'
}).then((result) => {
    <!-- 对服务器返回的数据做后续处理 -->
}).catch(error => {
    <!-- 处理错误 -->
})

HTTP协议

规定了浏览器发送和服务器返内容的格式

请求报文

浏览器按照HTTP协议要求的格式发送给服务器的内容
查看步骤:检查-网络-标头-请求标头
请求报文组成部分:

  1. 请求行:请求方法,URL,协议
  2. 请求头:以键值对形式携带的附加信息
  3. 空行:分割请求头,空行之后的是发送给服务器的资源
  4. 请求体:发送的资源
    eg:在这里插入图片描述

请求报文-错误排查

检查-网络-负载

响应报文

服务器按照HTTP协议要求的格式返回给浏览器的内容
查看步骤:检查-网络-标头-响应标头
响应体:检查-网络-标头-响应
响应报文组成部分

  1. 响应行:协议,HTTP响应状态码,状态信息
  2. 响应头:以键值对形式携带的附加信息
  3. 空行:分割请求头,空行之后的是服务器返回的资源
  4. 响应体:返回的资源
    在这里插入图片描述

HTTP响应状态码

用来表明请求是否成功完成,eg:404表示服务器找不到资源
1xx 信息
2xx 成功
3xx 重定向信息
4xx 客户端错误
5xx 服务端错误

form-serialize插件

快速收集表单元素的值
语法:

<!-- 先引入插件 -->
<script src=""></script>
<!-- 再获取表单 -->
const form = document.querySelector('.example-form)
<!-- 再传入参数 -->
const data = serialize(form, { hash:true, empty:true})

参数:

  1. 第一个:需要获取的表单
    表单元素设置name属性,值会作为对象的属性名
    建议name属性的值最好与接口文档参数名一致
  2. 第二个:配置对象
    hash:设置获取数据结构
    • true:获取的是JS对象(推荐)一般请求体里面提交给服务器
    • false:获取的是查询字符串
      empty:设置是否获取空值
    • true:获取空值(推荐)数据结构与标签结构一致
    • false:不获取空值

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

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

相关文章

【Python机器学习】决策树的构造——信息增益

决策树是最经常使用的数据挖掘算法。它之所以如此流行&#xff0c;一个很重要的原因就是不需要了解机器学习的知识&#xff0c;就能搞明白决策树是如何工作的。 决策树的优缺点&#xff1a; 优点&#xff1a;计算复杂度不高&#xff0c;输出结果易于理解&#xff0c;对中间值的…

RabbitMq手动ack的超简单案例+Confirm和Return机制的配置和使用

最简单的例子 先简单介绍一下这三个方法 basicAck 表示确认成功&#xff0c;使用此方法后&#xff0c;消息会被rabbitmq broker删除 basicNack 表示失败确认&#xff0c;一般在消费消息业务异常时用到此方法&#xff0c;可以将消息重新投递入队列 basicReject 拒绝消息&am…

Chainlit一个快速构建成式AI应用的Python框架,无缝集成与多平台部署

概述 Chainlit 是一个开源 Python 包&#xff0c;用于构建和部署生成式 AI 应用的开源框架。它提供了一种简单的方法来创建交互式的用户界面&#xff0c;这些界面可以与 LLM&#xff08;大型语言模型&#xff09;驱动的应用程序进行通信。Chainlit 旨在帮助开发者快速构建基于…

全网最适合入门的面向对象编程教程:25 类和对象的 Python 实现-Python 判断输入数据类型

全网最适合入门的面向对象编程教程&#xff1a;25 类和对象的 Python 实现-Python 判断输入数据类型 摘要&#xff1a; 本文主要介绍了在使用 Python 面向对象编程时&#xff0c;如何使用 type 函数、isinstance 函数和正则表达式三种方法判断用户输入数据类型&#xff0c;并对…

PWA(渐进式网页应用)方式实现TodoList桌面应用

参考&#xff1a; https://cloud.tencent.com/developer/article/2322236 todlist网页参考&#xff1a; https://blog.csdn.net/weixin_42357472/article/details/140657576 实现在线网页当成app应用&#xff1a; 一个 PWA 应用首先是一个网页, 是通过 Web 技术编写出的一个网…

如何全面提升架构设计的质量?

当我们从可扩展、高可用、高性能等角度设计出来架构的时候&#xff0c;我们如何优化架构呢&#xff1f;就需要从成本、安全、测试等角度进行优化。 如何设计更好的架构 - 步骤 成本 低成本复杂度本质 低成本手段和应用 低成本的主要应用场景 安全 安全性复杂度本质 架构安全…

大语言模型系列-Transformer:深入探索与未来展望

大家好&#xff0c;我是一名测试开发工程师&#xff0c;已经开源一套【自动化测试框架】和【测试管理平台】&#xff0c;欢迎大家联系我&#xff0c;一起【分享测试知识&#xff0c;交流测试技术】 Transformer模型自其问世以来&#xff0c;便迅速在自然语言处理领域崭露头角&a…

2024年【危险化学品生产单位安全生产管理人员】最新解析及危险化学品生产单位安全生产管理人员考试总结

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 危险化学品生产单位安全生产管理人员最新解析参考答案及危险化学品生产单位安全生产管理人员考试试题解析是安全生产模拟考试一点通题库老师及危险化学品生产单位安全生产管理人员操作证已考过的学员汇总&#xff0c;…

mysql基本数据类型(整型)

一、 常见面试题 整型都有哪些基础类型&#xff0c;各占几个字节 tinyint, smallint, mediumint, int, bigint: 1 2 3 4 8 int(n) 是什么意思&#xff0c;什么时候用到 指定显示位宽&#xff0c;需配合 zerofill 使用&#xff08;不够位宽则在前面补0&#xff09;&#xff0c;…

Could not find a version that satisfies the requirement

Could not find a version that satisfies the requirement 目录 Could not find a version that satisfies the requirement 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;2…

MATLAB被360误杀的解决方案

前面被误杀&#xff0c;今天又被误杀。 前面误杀结果是缺少文件&#xff0c;重装MATLAB也不行。 结果重装了操作系统。 这次&#xff0c;看到了提示额外小心。 当时备份了“病毒”文件&#xff0c;结果备份的也被杀了。 解铃还须系铃人 在360安全卫士里面恢复&#xff0c;步骤…

线性代数|机器学习-P27用于深度学习的神经网络结构

文章目录 1. 概述2. 参数定义3. CNN 网络 1. 概述 – 1. 卷积神经网络 CNNs – 2. 连续型线性分段函数 F – 3. 损失函数 – 4. 链式法则计算反向传播算法梯度 ∇ F g r a d F \nabla F \mathrm{grad}\; F ∇FgradF 2. 参数定义 我们定义每个样本有m维度特征&#xff0c;有…

java找不到符号解决办法

一、java找不到符号 如果你的代码里没有报错&#xff0c;明明是存在的。但是java报错找不到符号。如下所示&#xff0c; 二、解决步骤 1.清除编码工具缓存 本人用的idea&#xff0c; eclipse清除缓存方式有需要的可以百度一下&#xff01; 2.如果是mavne项目的 先clean 再…

流媒体服务器一:使用成熟的流媒体SRS 搭建 RTMP流媒体服务器

1 安装和测试srs流媒体服务器 服务器&#xff1a;SRS(Simple RTMP Server&#xff0c;⽀持RTMP、HTTP-FLV&#xff0c;HLS) 推流端&#xff1a;ffmpeg OBS 拉流端&#xff1a;ffplay VLC srs播放器 1.1 安装srs流媒体服务器 官网 SRS (Simple Realtime Server) | SRS 码…

大模型算法面试题(十四)

本系列收纳各种大模型面试题及答案。 1、微调后的模型出现能力劣化&#xff0c;灾难性遗忘是怎么回事 微调后的模型出现能力劣化&#xff0c;灾难性遗忘&#xff08;Catastrophic Forgetting&#xff09;是一个在机器学习领域&#xff0c;尤其是在深度学习和大模型应用中频繁出…

【SpringBoot】6 全局异常捕获

介绍 在项目开发中&#xff0c;如果每个 Controller 都增加 try catch 方法去捕获异常及处理&#xff0c;就会导致代码变得很繁琐、效率低下&#xff0c;而大部分异常是不能直接向外抛出&#xff0c;需要有个统一的显示处理方法&#xff0c;因此需要加上全局异常捕获统一获取并…

深度学习中常用损失函数介绍

选择正确的损失函数对于训练机器学习模型非常重要。不同的损失函数适用于不同类型的问题。本文将总结一些常见的损失函数&#xff0c;并附有易于理解的解释、用法和示例 均方误差损失(MSE) loss_fn nn.MSELoss()py均方误差&#xff08;Mean Squared Error&#xff0c;简称 MSE…

Navidrome音乐服务器 + 音流APP = 释放你的手机空间

20240727 By wdhuag 目录 前言&#xff1a; 参考&#xff1a; Navidrome音乐服务器 Demo试用&#xff1a; 支持多平台&#xff1a; 下载&#xff1a; 修改配置&#xff1a; 设置用NSSM成服务启动&#xff1a; 服务器本地访问网址&#xff1a; 音流 歌词封面API&am…

Golang | Leetcode Golang题解之第292题Nim游戏

题目&#xff1a; 题解&#xff1a; func canWinNim(n int) bool {return n%4 ! 0 }

网站打包封装成app,提高用户体验和商业价值

网站打包封装成app的优势 随着移动互联网的普及&#xff0c;用户对移动应用的需求越来越高。网站打包封装成app可以满足用户的需求&#xff0c;提高用户体验和商业价值。 我的朋友是一名电商平台的运营负责人&#xff0c;他曾经告诉我&#xff0c;他们的网站流量主要来自移动…