0%

参考资料

用法

  • \AddToShipoutPictureBG:为每一页添加背景
  • \AddToShipoutPictureBG*:仅为当前页面添加背景
  • \AddToShipoutPictureFG:类似于 BG,但只作用于文档内容部分

一些预定于好的位置命令

  • AtPageUpperLeft
  • AtPageLowerLeft
  • AtPageCenter
  • AtTextUpperLeft
  • AtTextLowerLeft
  • AtTextCenter
  • AtStockUpperLeft
  • AtStockLowerLeft
  • AtStockCenter

案例分析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
\documentclass{ctexart}
\usepackage{graphicx}
\usepackage{zhlipsum}
\usepackage{eso-pic}
\begin{document}
\zhlipsum[1-3]
\clearpage
\AddToShipoutPictureBG{
\includegraphics[width=\paperwidth,height=\paperheight]{example-image-duck}
}
\clearpage
\zhlipsum[1]
\clearpage
\zhlipsum[1]
\section{第一部分}

\end{document}

插入长宽和当前页面长宽一致的鸭子的背景图片

image.png

如果我们有比较好的背景图片,比如四角带有阴影的 png 图片或者设计好的图片,那么使用该宏包还是挺有效果的

部分说明

1
width=\paperwidth,height=\paperheight

表示图片的长宽和页面的长宽一致,将图片强制拉伸至页面长宽

1
2
3
example-image-duck
example-image-a
example-grid-100x100bp

这几个图片名称经常用于插入示范图片,分别代表 鸭子字母A长宽为10个单元格的网格表

注意使用 graphics 宏包(正常应为 graphicx 宏包)插入 includegraphics 命令时 texstudio 不会出现红色背景提示,但是编译出来老是报错 \end{document}

image.png

参考资料

完整案例如下,所有浮动体默认在环境中都是居中布置了,并且题注采用比正文小一号的字号。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
\documentclass{ctexart}
\usepackage{graphicx}
\usepackage{xpatch}
\makeatletter
\xpatchcmd\@floatboxreset{\normalsize}{\centering\small}{}{}
\makeatother
\begin{document}
比如正文字号\fontname\font
\begin{figure}
\includegraphics[width=3in]{example-image}
\caption{浮动体环境中的字体比正文字体小一号}
比如查看浮动体中的字号\fontname\font
\end{figure}
\end{document}

image.png

参考资料

残余应力的概念

在无外力或外力矩的作用下,存在于材料内部,且达到自平衡状态的力。

从微观上看,残余应力的本质是晶格畸变,以 “畸变能” 到形式存在于材料内部。

这些能量不会随着加工过程中能量的交换或材料的变形与剥离而全部消散掉,其中一部分转换为势能,以残余应力及形变的形式存储在介质中。
一旦原有的平衡被打破,上述势能中的一部分转化为残余应力作用下发生形变所作的功,使工件整体进入新的平衡,从而造成各加工环节中由残余应力引起的不同程度的加工变形。

残余应力的影响

残余应力是零件质量性能的关键指标,直接影响零件的加工精度、尺寸稳定性、腐蚀开裂、疲劳强度以及使用寿命等性能。

—> 为使零件达到良好的质量状态,应对其残余应力加以控制和利用:

  • 对过高的残余应力进行消除;
  • 对不均匀的残余应力进行均化处理;
  • 对有特殊要求的零件进行表面强化,引入压应力。

残余应力消除的主要方法

自然实效

把工件露天放置于室外,经过几个月至几年的风吹、日晒、雨淋和季节的温度变化,给工件多次造成反复的温度应力,促使残余应力发生松弛,获得稳定的状态。

  • 特点:处理简单、进程缓慢
  • 应用:
    • 结构或尺寸特殊的工件或原材料应用多
    • 在加工过程中也有应用(装夹下,减少卸除夹具后的变形量)

热实效

热实效是把工件放进热实效炉中进行热处理,由室温缓慢均匀加热至一定温度,保温一段时间后,再严格控制降温速度最终出炉。

热实效主要是利用材料在高温状态下,原子活动能力增强,而材料的屈服强度降低的特点,促进位错开动和原子回复,使得晶格畸变得到消除,残余应力得到消除。

典型应用为去应力退火,将材料加热至再结晶温度以下,保温一定时间后再缓慢冷却,以达到消除材料内部残余内应力的效果。(注意:材料热实效的工艺参数,可通过相关材料手册的热处理制度查得。由于材料成分、加工方法、内应力大小和分布不同,去应力退火的温度范围很广)

应用:热锻轧、铸造、各种冷变形加工、切削、焊接、热处理,甚至零部件装配后,都可以在不改变组织状态、保留冷作、热作或者表面硬化的条件下,加热到一定温度去除构件的内应力。

  • 优点:
    • 对于大多数材料能取得较好的效果,工程上有广泛、成熟的应用
  • 缺点:
    • 去应力效果与温度相关性大,温度影响材料组织和力学性能,处理过程中可能产生:氧化烧损、相变析出、热变形等情况
    • 对于大型构件难以适用
    • 能耗高

振动时效

工程材料常用的一种消除内部残余应力的方法,通过振动,使材料发生微量的塑性变形,从而使材料内部的应力得以松弛。分为亚共振实效、模态宽屏实效、频谱谐波实效、频谱谐波定位实效等方式。

以振动的形式给工件施加动应力,当动应力与工件残余应力叠加后,达到或超过材料的屈服极限时,工件发生微观或宏观塑性变形,从而使工件内部的残余应力得以松弛。

振动时效能够在一些场景下取代热实效。同时由于振动时效的机理与热实效不同,因此它也能够在热实效之后再次应用,并达到进一步消除残余应力的效果。

其他方法

  • 机械拉伸发
  • 爆炸法
  • 超声冲击法

image.png

新建文本文件,将以下两种方式中的任意一种粘贴到文本中,并保存为 bat 格式双击运行即可

1
2
3
4
5
6
echo off & color 0A
echo 当前目录:"%cd%" >fileTree.txt
tree /f >>fileTree.txt
echo 目录树已生成,按任意键查看。
pause>nul
start fileTree.txt
1
tree /f > tree_output.txt
  • 如果只想输出文件夹信息,加 /a 参数
  • 如果想输出文件夹下的文件名,加 /f 参数

或者不新建文件,在文件夹中,按住 Shift 右键,在此处打开 powershell,然后粘贴代码 tree /f > tree_output.txt 即可

image.png

保留源列宽

目的:复制表格时,保持表格列宽格式相同

image.png

尽量不要合并单元格

  • 通过筛选之后,合并的单元格无法进行复制
  • 跨行合并的数据可能影响筛选的结果

统计数据出现的次数

image.png

1
=IF(A2<>A1, COUNTIF(A:A, A2), "")

为什么第 6 行和第 7 行单元格为空呢:通过 IF 函数进行判断,上下两行内容相同,所以显示为空

统计不同种类的数据

image.png

1
=IF(COUNTIF($A$2:A2,A2)=1,MAX($B$1:B1)+1,"")
1
2
3
4
5
6
7
% 判断某一行的数据在整列当中是否为第一次出现
COUNTIF($A$2:A2,A2)=1

% 如果第一次出现,则值为1;之后每出现一个第一次出现的新数据,则该数据每次+1
—> MAX($B$1:B1)+1

% 数据不是第一次出现,则为空值

如上图所示,第 6,7,9 行都为空值,能不能让这些行都带上编号呢:

image.png

1
=IF(COUNTIF($A$2:A2,A2)=1,MAX($B$1:B1)+1,VLOOKUP(A2,$A$1:B1,2,FALSE))

第 6,7,9 行之所以为空值,是因为第二行中第一次出现了该数据,因此只需查询到第一次出现数据的第二列编号即可,而 VLOOKUP 函数会自动从上往下进行查找,就能正确的找到第二列的编号。

复制工作表

按住 Ctrl 键拖动即可复制工作表

image.png

查找工作表当中的合并单元格

需求:从别人接手的工作表,很可能包含大量合并的单元格,需要将它们取消合并

1、查找,进入 格式 选择

image.png

2、勾选 合并单元格

image.png

宏绑定快捷键

如下图所示,不过不支持 Ctrl+ 数字键,那么就换成字母吧

image.png

单元格是否存在某些内容

例如,若 E 列中存在 PH值PHPH50% 这些字样,那么在 I 列中将其提取出来

image.png

1
=IF(ISNUMBER(SEARCH("pH", E4)), E4, "")

为什么要用 ISNUMBER 函数:因为 SEARCH 函数在未找到指定的字符串时会返回错误值,而不是返回 0。
比如没有找到相应的文字,那么 search 返回 false,isnumber 函数返回 false,最终就返回空值。如果找到了相应的文字,那么 search 返回对应的索引,isnumber 函数返回 true,最终返回


进一步地,将一个词的条件变为多个词,需求如下:

只要单元格存在 氢氰酸总氰游离氢氰酸游离丙酮硫酸丙酮氰醇 这几个词中的某一个,那么就判断正确(即需要在其他列中将其提取出),否则为空

1
2
3
4
5
6
7
8
9
10
11
12
=IF(
OR(
ISNUMBER(SEARCH("氢氰酸", E4)),
ISNUMBER(SEARCH("总氰", E4)),
ISNUMBER(SEARCH("游离氢氰酸", E4)),
ISNUMBER(SEARCH("游离丙酮", E4)),
ISNUMBER(SEARCH("硫酸", E4)),
ISNUMBER(SEARCH("丙酮氰醇含量", E4))
),
E4,
""
)

最小公倍数

1
=LCM(B2:B5)

image.png

合并单元格 - 宏程序

假设三个单元格都存在数据,将这连续的三个单元格合并时,默认只会保留左上角单元格的数据,其他单元格数据丢失。而如果有如下需求:需要将多个单元格数据都保留下来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub 合并选定单元格()
Dim rng As Range
Dim mergedCell As Range
Dim cell As Range
Dim text As String

' 检查是否有选定的单元格
If Selection.Cells.Count < 2 Then
MsgBox "请选择至少2个单元格进行合并。"
Exit Sub
End If

Set rng = Selection ' 获取选定的单元格范围

' 创建一个合并单元格
Set mergedCell = rng.Cells(1)

' 将其他单元格的值添加到合并单元格中
For Each cell In rng
If cell.Value <> "" Then
text = text & cell.Value & Chr(10) ' Chr(10) 表示换行符
End If
Next cell

' 去除最后一个换行符
text = Left(text, Len(text) - 1)

' 将合并后的文本赋值给合并单元格
mergedCell.Value = text

' 合并单元格
rng.Merge
End Sub

拆解合并的单元格(并填充内容)

image.png

例如第 145 和 146 行,按照常规拆解单元格流程,拆解后只有 145 行保留数据,146 行数据为空。
需求如下:如何保持每一格单元格的内容和拆解前的保持一致

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub1()
'
' 宏1 宏
' 取消合并行。请注意,这段代码假设你只选择了一个连续的单元格范围。如果选择的范围包含多个不连续的区域,代码可能无法正常工作。确保选择的范围是连续的单元格范围。
'

'
Dim selectedRange As Range
Set selectedRange = Selection ' 将选择的单元格范围存储到变量中

selectedRange.Select
Selection.UnMerge
selectedRange.Rows(1).AutoFill Destination:=selectedRange, Type:=xlFillCopy ' 使用第一行的内容自动填充整个范围
selectedRange.Select
selectedRange.Cells(selectedRange.Rows.Count, selectedRange.Columns.Count).Select ' 选中范围中的最后一个单元格
End Sub

计算单元格中字符出现的次数

image.png

1
=LEN(A2) - LEN(SUBSTITUTE(A2, "k", ""))

公式思路:先计算单元格中总的字符长度,然后将要找到字符替换为空字符,那么『总长度』减去『替换为空字符后的长度』,就是你要找到字符的个数
SUBSTITUTE:将 "k" 替换为空字符 ""

ROUNDUP 函数

参考资料:Fetching Title#mrdb

朝着远离 0(零)的方向将数字进行向上舍入:

  • ROUNDUP 的行为与 ROUND 相似,所不同的是它始终将数字进行向上舍入
  • 如果 num_digits 大于 0(零),则将数字向上舍入到指定的小数位数。
  • 如果 num_digits 为 0,则将数字向上舍入到最接近的整数。
  • 如果 num_digits 小于 0,则将数字向上舍入到小数点左边的相应位数。
1
2
3
4
5
6
7
8
=ROUNDUP(3.001,0) —> 4
=ROUNDUP(3.01,1) —> 3.1

注意:该函数并不考虑什么四舍五入,都是向上取整

=ROUNDUP(-3.14159, 1) —> 如果第一个参数是正数,那么返回值是3.2;是负数,返回-3.2

=ROUNDUP(31415.92654, -2) —> 将 31415.92654 向上舍入到小数点左边两位数,结果为31500

多列数据合并(自动添加分隔符)

未完待续…

粘贴时保留纯文本

参考资料:如何设置 WORD 粘贴时默认仅保留文本格式 - 百度经验

image.png

之后从浏览器中粘贴过来,就不需要在按一次 Ctrl,然后再按 T 了,直接粘贴为纯文本格式

image.png

使用自定义模板

参考资料:office 增加自定义文档模板_用户可自定义文档类型的模板,对文档模板进行规范,并可定义模板中的 “签字标记”-CSDN 博客

  1. 打开手头的 word 模板
  2. 另存为 dotx,会自动跳转到自定义 office 模板的文件夹路径,保存
  3. 再次新建 word 文档的时候,可从 个人 的模板中选择进行新建文档

image.png

image.png

Mathtype 插入公式

如果使用中文输入法,那么输出的 x 这样的字符就不是标准的数学字体,切换成英文

Word 自带的公式

有专用和线性区别,比如说如下的 Cambria Math 字体,还有两种显示模式

调整表格行高

问题:直接调整段落,设置为最小值,表格之间仍然还是有间隙

1、先手动减小这个高度

image.png

2、调整完之后,行与行之间的间隙没有了

image.png

3、此时在调整为最小值

image.png

网页文字复制

有些网站是禁止复制文字的 —> 在不使用浏览器插件的情况下,可以将网页保存为 mhtml 本地文件

参考资料

案例

1
2
3
4
5
6
7
8
9
10
11
12
gantt
title 项目进度
dateFormat YYYY-MM-DD
section 设计
任务1: a1, 2022-01-01, 3d
任务2: a2, after a1, 2d
%% 注释内容
section 开发
任务3: b1, after a2, 4d
里程碑: milestone, after b1
section 测试
任务4:c1, after b1, 2d

修改坐标轴格式

坐标轴(横坐标)默认输出日期格式为 YYYY-MM-DD,以天作为单位,如何以分钟或者秒作为横坐标的单位呢:

1
axisFormat %Y-%m-%d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
%a - 缩写的星期几名称。
%A - 完整的星期几名称。
%b - 缩写的月份名称。
%B - 完整的月份名称。
%c - 日期和时间,格式为 "%a %b %e %H:%M:%S %Y"。
%d - 以十进制数表示的零填充的月份中的日期 [01,31]。
%e - 以十进制数表示的空格填充的月份中的日期 [ 1,31];等同于 %_d。
%H - 小时(24小时制)的十进制数表示 [00,23]。
%I - 小时(12小时制)的十进制数表示 [01,12]。
%j - 以十进制数表示的一年中的日期 [001,366]。
%m - 以十进制数表示的月份 [01,12]。
%M - 以十进制数表示的分钟 [00,59]。
%L - 以十进制数表示的毫秒数 [000, 999]。
%p - 上午(AM)或下午(PM)。
%S - 以十进制数表示的秒数 [00,61]。
%U - 以十进制数表示的一年中的周数(以星期日作为一周的第一天) [00,53]。
%w - 以十进制数表示的星期几 [0(星期日),6]。
%W - 以十进制数表示的一年中的周数(以星期一作为一周的第一天) [00,53]。
%x - 日期,格式为 "%m/%d/%Y"。
%X - 时间,格式为 "%H:%M:%S"。
%y - 以十进制数表示的不带世纪的年份 [00,99]。
%Y - 以十进制数表示的带世纪的年份。
%Z - 时区偏移,例如 "-0700"。
%% - 字面上的 "%" 字符。

例如需要将坐标轴改为小时和分钟,那么:

1
2
3
4
5
6
7
gantt
title 甘特图
+ axisFormat %H-%M
+ dateFormat HH:mm
section 样本1
任务1:a1,00:00, 70s
任务2:after a1, 100s

image.png

将坐标轴改成分钟和秒,那么:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
gantt
title 效率计算
+ axisFormat %M:%S
+ dateFormat mm:ss
%% 进样
section 流程1
步骤1: milestone,a0,0,0s
步骤2: a1,after a0,8.6s
步骤3: a2,after a1,3s
步骤4: a3,after a2,10s
section 流程2
步骤2: b1,after a2,8.6s
步骤3: b2,after b1,3s
步骤4: b3,after b2,10s

image.png

给里程碑取别名

1
2
3
4
5
6
7
gantt
dateFormat HH:mm
axisFormat %H:%M
+ Initial milestone : milestone, m1, 17:49, 2m
Task A : 10m
Task B : 5m
+ Final milestone : milestone, m2, 18:08, 4m

image.png

某效率计算

案例分析如下,对于有同步运行的动作,可通过这种时间重叠的方式,求出仪器检测样本的最快时间:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
gantt
title 水分检测效率计算
axisFormat %M-%S
dateFormat mm-ss

section 样本1
开始检测: milestone,SF1-0,0,0s
样本瓶就位:SF1-1,after SF1-0,10s
夹取注射器: SF1-2,after SF1-0,10s
开盖:SF1-3,after SF1-1,10s
润洗3次注射器: SF1-4,after SF1-2,45s
抽取样品: SF1-5,after SF1-4,10s
拧盖:SF1-6,after SF1-5,10s
称重: SF1-7,after SF1-5,20s
注入仪器:SF1-8,after SF1-7,20s
称重: SF1-9,after SF1-8,20s
注射器放托盘: SF1-10,after SF1-9,10s
水分检测:SF1-11,after SF1-8,240s

section 样本2
样本瓶就位:SF2-1,after SF1-10,10s
夹取注射器: SF2-2,after SF1-10,10s
开盖:SF2-3,after SF2-1,10s
润洗3次注射器: SF2-4,after SF2-2,45s
抽取样品: SF2-5,after SF2-4,10s
拧盖:SF2-6,after SF2-5,10s
称重: SF2-7,after SF2-5,20s
注入仪器:SF2-8,after SF2-7,20s
称重: SF2-9,after SF2-8,20s
注射器放托盘: SF2-10,after SF2-9,10s
水分检测:SF2-11,after SF2-8,240s

section 样本3
样本瓶就位:SF3-1,after SF2-10,10s
夹取注射器: SF3-2,after SF2-10,10s
开盖:SF3-3,after SF3-1,10s
润洗3次注射器: SF3-4,after SF3-2,45s
抽取样品: SF3-5,after SF3-4,10s
拧盖:SF3-6,after SF3-5,10s
称重: SF3-7,after SF3-5,20s
注入仪器:SF3-8,after SF3-7,20s
称重: SF3-9,after SF3-8,20s
注射器放托盘: SF3-10,after SF3-9,10s
水分检测:SF3-11,after SF3-8,240s

image.png

Tips:每个样本检测需要执行的操作都是一样的。第一个样本的代码写完后,后续可以通过查找替换的方式,进行批量替换。例如在样本一中将 SF1-1 第一个 1 替换为 2,即 SF2-1,样本 2 的代码便很快可以修改完毕。

资料准备

文件名 下载
QHUMaster.zip QHUMaster.zip
一份简短的 LaTeX 介绍.pdf 一份简短的 LaTeX 介绍.pdf

Overleaf 在线编译

注册 or 登录帐号

官网:Online LaTeX Editor

新建项目

Projects —> Create a new project —> Blank project (空项目) —> 为项目取一个名字

image.png

创建项目完之后,将出现如下界面:

image.png

导入项目

1)对 QHUMaster.zip 进行解压,得如下文件;

image.png

2)将 Manuscript.tex、QHUMaster.cls 以及 reference.bib 拖入到 Overleaf 的项目当中,进行上传

image.png

3)新建文件夹,取名 imgs

image.png

将 imgs 文件夹中的两张图片拖入 overleaf 项目中的 imgs 文件夹下,进行上传
image.png

项目设置

1)全选复制 Manuscript.tex 中的所有内容;
``
image.png

2)删除 main.tex 文件中的所有内容,粘贴刚才复制的内容到 main.tex

3)点击左上角的 Menu,将 pdfLaTeX 改为 XeLaTeX

image.png

编译文件

接下来按快捷键 Ctrl+S,项目开始编译;编译结束后右侧将出现生成的 PDF 文件

image.png

相关操作

  • 下载 PDF 文件

image.png

  • 打包下载整个项目

image.png

  • 多人共同编辑:Share —> 通过邮件分享项目,可多人在线同时编辑

image.png

  • 代码和 PDF 位置的跳转

image.png

模板介绍

中英文封面修改

image.png

同理,可以相应修改英文封面的内容

image.png

命令介绍

这里仅对照图片介绍部分命令,对于 LaTeX 通用命令,大家完全可以使用 GPT 或者搜索引擎就行搜索

1
2
3
4
5
6
% 插入章节
\chapter{时运不齐,命途多舛}
% 插入小节
\section{插入图片}
% 插入假文
\zhlipsum[1]

image.png

LaTeX 实用资源

Axios 异步框架简介

Axios 对原生的 AJAX 进行封装,简化书写

Axios 快速入门

  1. 引入 axios 的 js 文件
  2. 使用 axios 发送请求,并获取相应结果

详细步骤如下

一、在 webapp 下新建 js 文件夹,拷贝 axios 的 js 文件
二、新建 html 文件,引入 js 文件

1
<script src="js/axios-0.18.0.js"></script>

三、创建 AxiosServlet

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class AxiosServlet extends HttpServlet {  
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("get...");
//1.接收请求参数
String username = request.getParameter("username");
System.out.println(username);
//2.响应数据
response.getWriter().write("hello Axios");
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("post...");
this.doGet(request, response);
}
}

四、在 html 中编写 js 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>

<script src="js/axios-0.18.0.js"></script>

<script>
//1.get
/* axios({
method:"get",
url:"http://localhost:8080/ajax-dmeo/axiosServlet?username=zhangsan"
}).then(function (resp){
alert(resp.data);
})*/

//2.post
axios({
method: "get",
url: "http://localhost:8080/ajax-dmeo/axiosServlet",
//data是请求参数
data: "username=zhangsan"
}).then(function (resp) {
alert(resp.data);
})


</script>

</body>
</html>

代码说明及注意事项

  1. axios 大括号中的为 Java 中的对象
  2. .then() 方法是一个回调函数,如果响应接收到了的话就自动执行
  3. data: "username=zhangsan",data 是请求参数。这里可以传 JSON 格式的数据。除此之外,还可以传 JS 对象类型的数据(JSON 数据格式可以和 Java 中的对象数据格式通过某些方式进行转换),因为 Axios 框架会自动将这个 JS 对象转为 JSON 的数据格式
  4. Get 和 Post 两种方式传递参数的方式不一样,所以在 axios 方法中传入的对象(大括号包裹的内容)的方式不一样,一个写在 URL 中,一个写在 Data 属性中
  5. .then() 回调函数中,function 函数中的参数名可以不为 resp,随便一个都行,保持下面对象(resp.data)和这个参数名(resp)一致即可
  6. resp.data 即服务器端的 Servlet 响应过来的数据
1
2
3
4
5
6
7
8
9
10
11
flowchart RL
b1-->|"username = &quot;zhangsan&quot;"|servlet1
servlet1-->|data|b1
    subgraph Browsers
    b1
    b2
    end
    subgraph servers
    servlet1
    servlet2
    end

简单来说,Axios 实现的功能就是:通过 get 或 post 给 Servlet 传递一个参数(username=“zhangsan”),然后 Servlet 接收到这个参数,就可以进行判断的操作,根据判断的结果在给浏览器发送一个响应。浏览器收到响应数据(date)之后,就可以做出一些操作,比如弹出窗口操作。

Axios 请求方式别名

为了方便起见,Axios 已经为所有支持的请求方法提供了别名

发送 Get 请求

1
2
3
4
//1. Get方式  
axios.get("http://localhost:8080/ajax-dmeo/axiosServlet?username=zhangsan").then(function (resp){
alert(resp.data);
})

发送 Post 请求

1
2
3
axios.post("http://localhost:8080/ajax-dmeo/axiosServlet?username=zhangsan","username=zhangsan").then(function (resp){  
alert(resp.data);
})

原生的 Axios 书写方式 VS 别名的简化书写方式

  • 原生的书写格式:阅读性较好
  • 别名的方式:代码量少,基本上只需要填写必要的参数信息