(Javaweb)Ajax,Axios,Vue

news2024/9/22 13:38:58

目录

一.Ajax 

二.Axios 

三.前端工程化

四.接口文档的管理平台YAPI

五.Vue项目

六.Vue项目开发流程


一.Ajax 

1.通过Ajax从服务器端获取数据

Ajax---JavaScript(网页行为)+XML(标记语言--用来存储数据)

 客户端--浏览器  服务端在处理逻辑的时候,客户端处于等待状态 等到服务端处理完毕--

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
    <input type="button" value="获取数据" onclick="getData()">
    <div id="div1"></div>
<body>
    
</body>
<script>
    function getData(){
        var xmlHttpRequest=new XMLHttpRequest();
        xmlHttpRequest.open('GET','http://yapi.smart-xwork.cn/mock/169327/emp/list');
        xmlHttpRequest.send();//发送请求
        //获取服务响应数据
        xmlHttpRequest.onreadystatechange=function(){
            if(xmlHttpRequest.readyState=4&&xmlHttpRequest.status==200){
                document.getElementById('div1').innerHTML=xmlHttpRequest.responseText;
            }
        }
    }
</script>
</html>

二.Axios 

浏览器--以get请求的方式    请求参数id=1  

要使用axios,也必须引入axios文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script src="js/axios-0.18.0.js"></script>
<body>
    <input type="button" value="获取数据get" onclick="get()">
    <input type="button" value="删除数据post" onclick="post()">
    
</body>
<script>
    function get(){
        axios({
            //通过axios发送异步请求
            method:"get",
            url:"http://yapi.smart-xwork.cn/mock/169327/emp/list"
        }).then(result=>{
            console.log(result.data);
        })
    }
    function post(){
        axios({
            //通过axios发送异步请求
            method:"post",
            url:"http://yapi.smart-xwork.cn/mock/169327/emp/deleteById",
            data:"id=1"
        }).then(result=>{
            console.log(result.data);
        })
    }
</script>
</html>

通过axios发送异步请求get和post   post请求通过id来删除数据:引入id属性

 

方括号中的内容是可选的

.then用于获取数据::成功回调函数    data中封装服务器端响应回来的数据

简化请求代码:

function get(){
        axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then(result=>{
        console.log(result.data);
    })
    }
    function post(){
        axios.post("http://yapi.smart-xwork.cn/mock/169327/emp/deleteById").then(result=>{
        console.log(result.data);
    })
    }

案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script src="js/axios-0.18.0.js" src="js/vue.js"></script>
<body>
    <div id="app">
        <table border="1" cellspacing="0" width="60%">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>图像</th>
                <th>性别</th>
                <th>职位</th>
                <th>入职日期</th>
                <th>最后操作时间</th>
            </tr>
            <tr align="center" v-for="(emp,index) in emps">
                <td>{{index+1}}</td>
                <td>{{emp.name}}</td>
                <td>
                    <img src="emp.image" width="70px" height="50px">
                </td>
                <td>
                    <span v-if="gender==1">男</span>
                    <span v-if="gender==1">女</span>
                </td>
                <td>{{emp.job}}</td>
                <td>{{emp.emtrydate}}</td>
                <td>{{emp.updatetime}}</td>
            </tr>
        </table>
    </div>
</body>
<script>
    new Vue({
        el:"#app",
        data:{
            emps[]
        },
        methods: {
            
        },
        mounted () {
            axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then(result=>{
                this.emps=result.data.data;
            })
        }
    });
</script>
</html>

 

三.前端工程化

1.(早期)前后端混合开发:前端+Java--后端功能+数据库   问题:沟通成本高+分工不明确+项目不便管理且不便维护扩展

2.后端:了解前端加以分析并得以修改+熟悉服务器开发

3.(现在)前后端分离开发:开发好的前端工程与后端程序进行交互 两者相互独立 开发遵守某种规范:定义在专门的文档当中---文档--接口文档(指的是一个业务功能)--添加员工 删除员工 

4.基于接口文档进行开发:接口文档描述了这个接口在请求的时候需要传递什么参数 后端接收前端传递来的参数 后端给前端

响应对应的数据  前端再进行解析  如果前端后端都遵循了同一份接口文档--最后开发出来的前端工程和后端工程可以无缝集成在一起。

5.接口文档如何去维护?在线方式(在线文档接口管理平台)和离线方式(word Markdown Excel)

6.要开发功能:(1)需求分析(2)定义API接口文档:写明请求的URL地址,请求方式,请求参数以及响应的结果

四.接口文档的管理平台YAPI

 1.

 

//配置全局安装路径

//安装成功

五.Vue项目

1.在桌面新建文件夹vue,在上方地址栏输入cmd,打开终端输入vue ui调出图形化界面

Tomcat--默认端口8080

如何更改端口号?

在devServer下修改端口号

保存之后,在下方终端:ctrl+C

重新运行,发现端口号已发生改变

六.Vue项目开发流程

 

此为vue项目默认的首页index.html

import---引入模块

与import对应--export--将对象或函数导出为模块

将当前目录下的App.vue导入

//在index.html中可以找到

以.vue结尾---vue的组件文件

div是template中的根标签

template用来定义html代码----相当于vue中的视图部分

script中--定义的是js代码

style中--定义css样式

-------------含义:将定义的对象导出去---------然后在别的地方导入import

定义message数据模型:

-----------------省略写function

-----------展示数据模型中的数据

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

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

相关文章

【C++】深入理解类和对象(1)

自己打败自己是最可悲的失败&#xff0c;自己战胜自己是最可贵的胜利。&#x1f493;&#x1f493;&#x1f493; 目录 ✨说在前面 &#x1f34b;知识点一&#xff1a;类的定义 • &#x1f330;1.类定义格式 • &#x1f330;2.访问限定符 • &#x1f330;3.类域 &…

人工智能时代,程序员当如何保持核心竞争力?

目录 前言 一.AI辅助编程对程序员工作的影响 二.程序员应重点发展的核心能力 三.人机协作模式下的职业发展规划 结束语 前言 随着AIGC&#xff08;如chatgpt、midjourney、claude等&#xff09;大语言模型接二连三的涌现&#xff0c;AI辅助编程工具日益普及&#xff0c;程序…

C++第三十一弹---C++继承机制深度剖析(下)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 1.菱形继承及菱形虚拟继承 1.1 单继承 单继承&#xff1a;一个子类只有一个直接父类时称这个继承关系为单继承。 Student的直接父类是Person&#xff…

双向循环链表和内核链表

目录 双向循环链表 结构设计 初始化 插入 删除 遍历&#xff08;顺序/逆序&#xff0c;打印输出&#xff09; 查找 主函数 内核链表 内核链表初始化定义 内核链表的插入定义 内核链表的遍历定义 内核链表剔除节点定义 内核链表如何移动节点定义 内核链表的应用 临时补充…

身在职场,不得不提防的几个问题,能让少走许多弯路

职场路本就崎岖&#xff0c;如果再走了弯路&#xff0c;脚下的路将会更漫长且难走。 谁不想一帆风顺&#xff0c;可谁又能一帆风顺&#xff1f;不是人心险恶&#xff0c;而是立场本就不同&#xff0c;为了各自的利益考虑无可厚非。 你可以说凭借能力获取利益&#xff0c;为什…

CVE-2023-37569~文件上传【春秋云境靶场渗透】

# 今天我们拿下CVE-2023-37569这个文件上传漏洞# 经过简单账号密码猜测 账号&#xff1a;admin 密码&#xff1a;password# 找到了文件上传的地方# 我们直接给它上传一句话木马并发现上传成功# 上传好木马后&#xff0c;右键上传的木马打开发现上传木马页面# 直接使用蚁剑进行连…

Linux5:Shell编程——函数、重定向

目录 前言 一、函数 1.函数结构 2.函数实例 3.函数传参 二、重定向 1.输出重定向 2.输入重定向 3.同时使用 4.重定向深入了解 5.垃圾桶 总结 前言 Shell编程将会在本章完结 一、函数 1.函数结构 #!/bin/sh # 函数function fun1() {echo "this is a funtion&q…

【有手就行】:从无到有搭建后端SpringBoot项目

前言 想静下心来写点东西&#xff0c;但是确实想不到该写点啥&#xff0c;可能是少了点感觉吧 &#x1f622;。前面刚整理了下前端VUE&#xff0c;就想了下把后端也一起整理下吧&#xff0c;免得换电脑了安装环境又要弄半天&#xff0c;那就开搞吧 首先 准备环境 1.安装IDEA…

云计算实训21——mysql-8.0.33-linux-glibc安装及使用

一、mysql-8.0.33-linux-glibc安装 安装步骤 1.解压 tar -xvf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz 2.清空其他环境 rm -rf /etc/my.cnf 3.安装依赖库 yum list installed | grep libaio 4.创建用户 useradd -r -s /sbin/nologin mysql 查看 id mysql 5.创建mysql-fi…

PXE批量网络装机(超详细实验教程)教会你自动化批量安装linux 系统 红帽7

1.创建自动化安装服务器 1.1. 搭建本地厂库 写入rpm.re文件内容 [rhel7]namerhel7baseurlfile:///rhel7gpgcheck0 Yum makecache 测试是否挂载成功 1.2.关闭虚拟机的本地DHCP 1.3下载必要软件 下载图形化脚本自动生成工具方便编写脚本 下载dhcp分配ip httpd 搭建网页 …

数据排序之旅

1、排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排序…

vue3 + i18n 实现国际化并动态切换语言

安装 npm install vue-i18n// index.ts import { createI18n } from vue-i18n // 语言包 import ch from ./ch import en from ./enconst lang localStorage.getItem(localeLangD) || ch if (!localStorage.getItem(localeLangD)) {localStorage.setItem(localeLangD, lang) …

linux文本命令:文本处理工具awk详解

目录 一、概述 二、基本语法 1、awk 命令的基本语法 2、常用选项 3、获取帮助 三、工作原理 四、 功能特点 五、分割字段 六、 示例 1. 打印所有行 2. 计算总和 3. 过滤特定模式 4. 使用多个模式 5. 复杂的脚本 6. 自定义分隔符 7. 打印指定列 8. 使用 BEGIN …

微信小程序教程011-1:京西购物商城实战

文章目录 1、起步1.1 uni-app简介1.2 开发工具1.2.1 下载HBuilderX1.2.2 安装HBuilderX1.2.3 安装scss/sass编译1.2.4 快捷键方案切换1.3 创建uni-app项目1.4 目录结构1.5 把项目运行到微信开发者工具1.6 使用Git管理项目1.6.1 本地管理1.6.2 把项目托管到码云1、起步 1.1 uni…

【Unity】3D功能开发入门系列(五)

Unity3D功能开发入门系列&#xff08;五&#xff09; 一、预制体&#xff08;一&#xff09;预制体&#xff08;二&#xff09;预制体的创建&#xff08;三&#xff09;预制体实例&#xff08;四&#xff09;预制体的编辑 二、动态创建实例&#xff08;一&#xff09;动态创建实…

2024/8/4 汇川变频器低压产品分类选型

VF就是通过电压、频率控制 矢量就是通过开环&#xff08;svc&#xff09;和闭环&#xff08;fvc&#xff09; MD310、MD200 开环&#xff0c;不支持闭环&#xff0c;无法接编码器 290 、200s、280、都是VF控制

有哪些供应链管理方法?详解四种常用的供应链管理方法!

在当今复杂多变的商业环境中&#xff0c;供应链管理已成为企业获取竞争优势的关键。有效的供应链策略不仅能提升企业的响应速度和市场适应性&#xff0c;还能显著降低成本、提高效率。本文将深入探讨几种主流的供应链管理方法&#xff0c;包括快速反应、有效客户反应、基于活动…

LeetCode 0572.另一棵树的子树:深搜+广搜(n^2做法就能过,也有复杂度耕地的算法)

【LetMeFly】572.另一棵树的子树&#xff1a;深搜广搜&#xff08;n^2做法就能过&#xff0c;也有复杂度耕地的算法&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/subtree-of-another-tree/ 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 s…

DEBUG:sw模板不对

问题 sw自带模板不合适 解决 工具 选项 文件位置 自己新建一个文件夹 放入模板 &#xff08;三维 二维各一个 一般就是统一标准 可以自己新建个模板&#xff09;

深度学习笔记(神经网络+VGG+ResNet)

深度学习 主要参考博客常用英语单词 概念应用神经网络基础神经网络基本结构 超参数超参数是什么常用超参数超参数搜索过程常用超参数调优办法&#xff08;通过问题复杂度和计算资源选择&#xff09; 激活函数介绍为什么要使用激活函数推荐博客 sigmoid激活函数&#xff08;使用…