Vue(第十七课)AXIOS对JSON数据的增删改查(一)

简介: Vue(第十七课)AXIOS对JSON数据的增删改查(一)

Vue(第十七课)AXIOS对JSON数据的IDUS

Vue(第十六课)JSON-SERVE和POSTMAN技术中对数据的增删改查_星辰镜的博客-CSDN博客

  1. get:获取数据,请求指定的信息,返回实体对象
  2. post:向指定资源提交数据(例如表单提交或文件上传)
  3. put:更新数据,从客户端向服务器传送的数据取代指定的文档的内容
  4. patch:更新数据,是对put方法的补充,用来对已知资源进行局部更新
  5. delete:请求服务器删除指定的数据

增删改查的核心贯穿本文要学习的AXIOS技术

  1. 查询全部记录
  2. 查询一条记录
  3. 增加一条记录
  4. 修改一条记录
  5. 删除一条记录
  6. axios中常用到的配置项
  7. 上面是文章要讲述的内容

  8. 数据展示信息

1 查询全部记录

 <script type="text/javascript">
        // 获取按钮
        const btn1 = document.getElementById('btn1')
        btn1.onclick = () => {
            // axios
            // GET 没有参数
            const result = axios({
                // 请求地址
                url: "http://localhost:3000/students",
                method: 'GET'
            }).then(
                response => {console.log("请求成功", response.data)},
                error => {console.log("请求失败", error)}
            )
        }
    </script>
<!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>01_axios的get基本使用</title>
</head>
<body>
    <script src="../js/axios.min.js"></script>
    <h3>01_axios的get基本使用</h3>
    <button id="btn1">点我获取所有人的基本信息的数据</button>
    <!-- 1 axios 调用的返回值是promise实例
         2 成功的值叫 response 
         3  失败的值叫 error
        4 axios成功的值是一个axios封装的response对象 服务器返回的真正数据在 response.data -->
    <script type="text/javascript">
        // 获取按钮
        const btn1 = document.getElementById('btn1')
        btn1.onclick = () => {
            // axios
            // GET 没有参数
            const result = axios({
                // 请求地址
                url: "http://localhost:3000/students",
                method: 'GET'
            }).then(
                response => {console.log("请求成功", response.data)},
                error => {console.log("请求失败", error)}
            )
        }
    </script>
</body>
</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>02_axios的get基本使用</title>
</head>
<body>
    <script src="../js/axios.min.js"></script>
    <h3>02_axios的get基本使用</h3>
    <button id="btn1">点我获取所有人的基本信息的数据</button>
    <script type="text/javascript">
        // 获取按钮
        const btn1 = document.getElementById('btn1')
        btn1.onclick = () => {
            axios.get("http://localhost:3000/students").then(
                response => { console.log("请求成功", response.data) },
                error => { console.log("请求失败", error) }
            )   
        }
    </script>
</body>
</html>

获取所有人的信息

 

精简版获取数据

 

2 查询一条记录

 <script type="text/javascript">
        // 获取按钮
        const btn1 = document.getElementById('btn1')
        btn1.onclick = () => {
            // axios
            // GET 没有参数
            const result = axios({
                // 请求地址
                url: "http://localhost:3000/students",
                method: 'GET'
            }).then(
                response => {console.log("请求成功", response.data)},
                error => {console.log("请求失败", error)}
            )
        }
    </script>

<!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>01_axios的get基本使用</title>
</head>
<body>
    <script src="../js/axios.min.js"></script>
    <h3>01_axios的get基本使用</h3>
    <button id="btn1">点我获取所有人的基本信息的数据</button>
    <!-- 1 axios 调用的返回值是promise实例
         2 成功的值叫 response 
         3  失败的值叫 error
        4 axios成功的值是一个axios封装的response对象 服务器返回的真正数据在 response.data -->
    <script type="text/javascript">
        // 获取按钮
        const btn1 = document.getElementById('btn1')
        btn1.onclick = () => {
            // axios
            // GET 没有参数
            const result = axios({
                // 请求地址
                url: "http://localhost:3000/students?delay=5000",
                tuemout:2000,
                method: 'GET'
            }).then(
                response => {console.log("请求成功", response.data)},
                error => {console.log("请求失败", error)}
            )
        }
    </script>
</body>
</html>

查询个人记录

 

3 增加一条记录

    <script type="text/javascript">
        // 增加数据
        const btn3 = document.getElementById('btn3')
        const personName = document.getElementById('person_name')
        const personSex = document.getElementById('person_sex')
        const personSubject = document.getElementById('person_subject')
        // 增加一个人的数据 post请求视数据
        btn3.onclick = () => {
            axios({
                url: "http://localhost:3000/teachers",
                method: "POST",
                // 携带请求体参数{json编码}
                // data:{name:personName.value,sex:personSex.value,subject:personSubject.value}
                //urlencoded编码
                data: `name=${personName.value}&sex:${personSex.value}&subject:${personSubject.value}`
            }).then(
                response => { console.log("请求成功", response.data) },
                error => { console.log("请求失败", error) }
            )
        }
        // // 精简版
        // axios.post('http://localhost:3000/teachers', { name: personName.value, sex: personSex.value, subject: personSubject.value }).then(
        //     response => { console.log("请求成功", response.data) },
        //     error => { console.log("请求失败", error) }
        // )
    </script>

<!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>04 获取个人信息</title>
</head>
<style>
    p {
        text-align: center;
        font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
        font-weight: 800;
        width: 100%;
        height: 20px;
        background-color: rgb(255, 0, 89);
        color: rgb(255, 255, 255);
    }
    button {
        width: 300px;
        height: 40px;
        line-height: 40px;
        font-size: 20px;
        border-radius: 12px;
        color: azure;
        background-color: black;
        box-shadow: 1px 2px 3px rgb(255, 25, 0);
    }
    input {
        color: rgb(0, 0, 0);
        font-size: 20px;
        background-color: rgb(255, 255, 255);
        box-shadow: 1px 2px 3px rgb(255, 25, 0);
        border-radius: 12px;
    }
</style>
<body>
    <script src="../js/axios.min.js"></script>
    <p>增加摸个人</p>
    <button id="btn3">增加一个人的数据</button><br> <br>
    <input type="text" placeholder="请输入一个人的姓名" id="person_name"> <br> <br>
    <input type="text" placeholder="请输入一个人的性别" id="person_sex"> <br> <br>
    <input type="text" placeholder="请输入一个人的爱好" id="person_subject"> <br> <br>
</body>
</html>

增加一条记录

 

相关文章
|
资源调度 JavaScript
|
缓存 JavaScript UED
Vue3中v-model在处理自定义组件双向数据绑定时有哪些注意事项?
在使用`v-model`处理自定义组件双向数据绑定时,要仔细考虑各种因素,确保数据的准确传递和更新,同时提供良好的用户体验和代码可维护性。通过合理的设计和注意事项的遵循,能够更好地发挥`v-model`的优势,实现高效的双向数据绑定效果。
639 161
|
JavaScript 数据管理 Java
在 Vue 3 中使用 Proxy 实现数据双向绑定的性能如何?
【10月更文挑战第23天】Vue 3中使用Proxy实现数据双向绑定在多个方面都带来了性能的提升,从更高效的响应式追踪、更好的初始化性能、对数组操作的优化到更优的内存管理等,使得Vue 3在处理复杂的应用场景和大量数据时能够更加高效和稳定地运行。
648 156
|
JavaScript 开发者
在 Vue 3 中使用 Proxy 实现数据的双向绑定
【10月更文挑战第23天】Vue 3利用 `Proxy` 实现了数据的双向绑定,无论是使用内置的指令如 `v-model`,还是通过自定义事件或自定义指令,都能够方便地实现数据与视图之间的双向交互,满足不同场景下的开发需求。
675 157
|
11月前
|
SQL JavaScript 前端开发
Vue实现动态数据透视表(交叉表)
Vue实现动态数据透视表(交叉表)
506 13
|
11月前
|
JavaScript 前端开发 API
管理数据必备;侦听器watch用法详解,vue2与vue3中watch的变化与差异
一篇文章同时搞定Vue2和Vue3的侦听器,是不是很棒?不要忘了Vue3中多了一个可选项watchEffect噢。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
11月前
|
存储 数据采集 供应链
属性描述符初探——Vue实现数据劫持的基础
属性描述符还有很多内容可以挖掘,比如defineProperty与Proxy的区别,比如vue2与vue3实现数据劫持的方式有什么不同,实现效果有哪些差异等,这篇博文只是入门,以后有时间再深挖。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
在 Vue3 中,如何使用 setup 函数创建响应式数据?
在 Vue3 中,如何使用 setup 函数创建响应式数据?
|
监控 JavaScript 算法
深度剖析 Vue.js 响应式原理:从数据劫持到视图更新的全流程详解
本文深入解析Vue.js的响应式机制,从数据劫持到视图更新的全过程,详细讲解了其实现原理和运作流程。
|
JavaScript
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“
本文讨论了在使用Vue和Element UI实现树形数据和懒加载时遇到的“Maximum call stack size exceeded”错误,指出问题的原因通常是因为数据中的唯一标识符`id`不唯一,导致递归渲染造成调用栈溢出。
1254 1
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“