一、下载安装

cnpm install axios

AxiosAjax的第三方模块。

它给我们封装好了一些Ajax方法。

二、使用Axios实现水果列表的增删改查

1、项目目录

public目录存放静态文件。

2、server.js:

const Koa = require("koa");
const router = require("koa-router")();
const nunjucks = require("nunjucks");
const static = require("koa-static");
const views = require("koa-views");
const parser = require("koa-parser");
const app = new Koa();
app.use(parser());
app.use(static(__dirname + "/public"));
app.use(views(__dirname + "/views", {map: {html: "nunjucks"}
}))let dataList = ["香蕉", "苹果", "鸭梨"];router.get("/", async ctx => {await ctx.render("index");
})// get查询
router.get("/fruits", ctx => {ctx.body = dataList;
})// post添加
router.post("/fruits", ctx => {// form-data中输入草莓let fruit = ctx.request.body.fruit;dataList.push(fruit);ctx.body = dataList;
})// put修改
router.put("/fruits/:id", ctx => {let id = ctx.params.id;// form-data中输入草莓let fruit = ctx.request.body.fruit;// 要删除元素的索引,删除几个元素,将删除的元素替换为XXdataList.splice(id, 1, fruit);ctx.body = dataList;
})// delete删除
router.delete("/fruits/:id", ctx => {let id = ctx.params.id;dataList.splice(id, 1);ctx.body = dataList;
})app.use(router.routes());// 设置监听端口
app.listen(3000, () => {console.log("server is running");
})

3、index.html:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>index</title>
</head><body><button class="get">查询数据</button><button class="post">添加数据</button><button class="put">修改数据</button><button class="delete">删除数据</button><script src="/js/axios.min.js"></script><script></script></body></html>

index页面:

我们接着给按钮添加上事件:

(1)查询

<script>// 查询document.querySelector(".get").onclick = function () {axios.get("/fruits").then(res => {console.log(res.data);})}
</script>

点击查询按钮:

(2)添加

<script>// 添加document.querySelector(".post").onclick = function () {axios.post("/fruits", {fruit: "草莓"}).then(res => {console.log(res.data);})}
</script>

点击添加按钮:

(3)修改

<script>// 修改document.querySelector(".put").onclick = function () {axios.put("/fruits/1", {fruit: "西瓜"}).then(res => {console.log(res.data);})}
</script>

点击修改按钮:

上面一个是修改前,下面是修改后。

(4)删除

    <script>// 删除document.querySelector(".delete").onclick = function () {axios.delete("/fruits/0").then(res => {console.log(res.data);})}</script>

点击删除按钮:

上面一个是删除前,下面一个是删除后。

三、jQuery的Ajax方法

1、下载安装jQuery

cnpm install --save jquery

2、index.html

<body><button class="get">查询数据</button><button class="post">添加数据</button><button class="put">修改数据</button><button class="delete">删除数据</button><script src="/js/jquery.min.js"></script><script>$(".get").click(function () {$.ajax({url: "/fruits",type: "get",}).done(res => {// 这种的res就是数据,不用res.dataconsole.log(res);})})</script>
</body>

3、效果

点击查询按钮,控制台输出:

四、总结

本节只是了解Axios的基础用法,下一章会学Vue.js

结合Vue处理表单和表格的异步数据。

Ajax的封装——Axios与jQuery相关推荐

  1. Vue的axios与ajax的区别:axios是对ajax的封装

    分析 axios是通过promise实现对ajax技术的一种封装,就像jQuery实现ajax封装一样. ajax技术实现了网页的局部数据刷新,axios实现了对ajax的封装. axios是ajax ...

  2. AJAX(GET POST请求、 jQuery axios 发送请求、跨域--cors、请求超时、网络异常、放弃请求、重复发送请求)

    根据视频进行整理 [https://www.bilibili.com/video/BV1WC4y1b78y?p=1] 视频资料 百度网盘: 链接:[https://pan.baidu.com/s/1n ...

  3. 封装一个类似jquery的ajax方法

    //封装一个类似jquery的ajax方法,当传入参数,就可以发送ajax请求 //参数格式如下{// type:"get"/"post", // dataTy ...

  4. jq封装接口ajax,jquery ajax方法封装及api文件设计的代码示例

    本篇文章给大家带来的内容是关于jquery ajax方法封装及api文件设计的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 封装 jquery ajax 文件/** * 封 ...

  5. 易扩展,易复用,封装axios

    axios介绍: axios是近几年比较火的一个前端库,完美代替了jquery中的ajax,它不仅可以运行在浏览器也可以运行在nodejs环境下,而且支持Promise API 可以拦截请求,和返回. ...

  6. ios ajax报错404,ajax 报错 axios正确

    ajax 报错 axios正确 [2021-01-28 03:39:02]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(" ...

  7. ajax 加载 提示 锁屏,js锁屏解屏通过对$.ajax进行封装实现

    jquery插件源码: /** * 对jquery中$.ajax进行封装,以便加入锁屏功能 * isAsync 是否为异步请求,默认为true * isLock 是否锁屏,默认是true * isCa ...

  8. JQuery(三)-- AJAX的深入理解以及JQuery的使用

    HTTP HTTP http: 超文本传输协议.特点:  简单.快速.灵活.无状态.无连接 URL: 统一资源定位符. 组成:协议名://主机IP:端口号/项目资源地址?传递参数的键值对#锚点 ①ip ...

  9. 封装 axios 请求

    vue 封装 js 方法 一.安装 axios 并引入: Axios 中文说明 安装axios:npm install axios 因为基本上全局都会使用到 axios 方法,所以在 main.js ...

最新文章

  1. 洛谷P1919 【模板】A*B Problem升级版(FFT)
  2. Python 技术篇-用request库调用莉莉机器人api接口实现与机器人对话实例演示
  3. HDU 3037 Saving Beans (Lucas法则)
  4. 新一代蓝牙5标准开启 会成为物联网的最佳选择吗
  5. HTTP Cookie
  6. java 自动装载_java_详解Java的Spring框架下bean的自动装载方式,Spring容器可以自动装配相互协 - phpStudy...
  7. 二叉树中序遍历的下一个节点
  8. css画饼状图圆形,CSS样式圆形饼图百分比
  9. 从大数据看直播答题的春节大考,突围方向在哪?
  10. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java疫情下校园食品安全信息管理系统4r61l
  11. vue中v-for为何要加key?index为何不推荐作为key
  12. 时间类型转换为字符串
  13. 转载 NovaMind思维导图详细使用教程
  14. java中事物是什么意思_java里 声明式事务是什么意思呢?
  15. 济源一中2021高考成绩查询入口,喜讯!高考刷新济源最高纪录!
  16. 求分享~水声通信信号调制识别数据集
  17. 推荐6款无可挑剔的电脑软件,你用过几款?
  18. 【VUE实战问题记录】只能输入自然数,包括0及两位小数
  19. 【NPDP】大师级管理人物盘点:竞争战略之父-迈克尔·波特
  20. Double free 漏洞复现与利用

热门文章

  1. 这可是全网网工基础知识最详细的整理,没有之一
  2. 2022软考网工笔记(Linux篇)
  3. python彩票36选7_python基础数据类型补充
  4. 机房收费系统系列五:报表
  5. Vue3.2 中新出的 expose 是做啥用的?
  6. iview 实现在theme主题中添加某一个新模块的主题颜色切换
  7. C++随机字符串(可以包含中文)
  8. git将本地文件推送到远程仓库
  9. 手机获取QQ好友列表的信息【Android】
  10. BP神经网络——MATLAB实现