Ajax及前端工程化

Ajax:异步的js与xml。

作用:

1、通过ajax给服务器发送数据,并获得其响应的数据。

2、可以在不更新整个网页的情况下,与服务器交换数据并更新部分网页的技术。

一、同步与异步

 二、原生Ajax

 1、准备数据地址

 2、创建XMLHttpRequest对象,用于和服务器交换数据

 3、向服务器发送请求

 4、获取服务器响应的数据

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<input type="button" name="" id="" value="获取数据" onclick="getData()">
		<div id="div1"></div>
	</body>

	<script>
		function getData() {
			//1、创建XMLHttpRequset
			var xmlHttpRequest = new XMLHttpRequest();

			//2、发送异步请求
			xmlHttpRequest.open("GET", "/test_/ajax/ajax_info.txt");
			xmlHttpRequest.send();

			//3、获取服务器响应数据
			xmlHttpRequest.onreadystatechange = function() {
				if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
					alert("123");
					document.getElementById("div1").innerHTML = xmlHttpRequest.responseText;
				}
			}
		}
	</script>
</html>

1、Axios

对原生ajax进行封装,方便开发

1、引入

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

<script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>

2、

function get() {
			//axios发送异步请求
			axios({
				method:"get",
				url:"https://www.baidu.com"
			}).then(result => {
				console.log(result.data)
			})
			
			
		}		

3、案例 通过vue的钩子函数实现动态加载页面数据

ajax_info.txt 格式json

{
				"users": [{
						"name": "Tom",
						"age": 20,
						"gender": 1,
						"scorce": 78
					},
					{
						"name": "Rose",
						"age": 18,
						"gender": 2,
						"scorce": 86
					},
					{
						"name": "Jerry",
						"age": 26,
						"gender": 1,
						"scorce": 90
					},
					{
						"name": "Tony",
						"age": 30,
						"gender": 1,
						"scorce": 52
					}						
				]
}
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="vue.js"></script>
		<script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>
	</head>
	<body>
		<div id="app">
			<table border="1" cellspacing="0" width="60%">
				<tr>
					<th>编号</th>
					<th>姓名</th>
					<th>年龄</th>
					<th>性别</th>
					<th>成绩</th>
					<th>等级</th>
				</tr>
				<tr align="center" v-for="(user,index) in users">
					<td>{{index+1}}</td>
					<td>{{user.name}}</td>
					<td>{{user.age}}</td>
					<td>
						<span v-if="user.gender==1">男</span>
						<span v-if="user.gender==2">女</span>
					</td>
					<td>{{user.scorce}}</td>
					<td>
						<span v-if="user.scorce>=85">优秀</span>
						<span v-else-if="user.scorce>=60">及格</span>
						<span style="color: red;" v-else>不及格</span>
					</td>
				</tr>
			</table>
		</div>
	</body>
	<script>
		new Vue({
			el: "#app",
			data:{
				users:[]
			},
			//钩子函数 当页面加载完成后 自动发送数据 并将vue的users赋值
			mounted() {
				axios.get("/test_/ajax/ajax_info.txt").then(result => {								
								 this.users = result.data.users;
				})
			}
		})				
	</script>
</html>

 三、前后端分离开发

接口文档规范了前端、后端工程师的开发

 开发流程:

1、YAPI

 YAPI是管理接口文档的工具。详见视频

2、前端工程化

1、环境准备

Vue-cli是Vue官方提供的一个脚手架,用于快速生成Vue项目模板。

功能:统一的目录结构、本地调式、热部署、单元测试、集成打包上线

依赖环境:Nodejs

搭建环境:

下载nodejs 安装完成后会自动配置环境变量

1、设置npm

2、检查npm的prefix值是否设置成功 

 

3、更改下载镜像 

4、安装vue-cli 

 

 5、检查vue-cli是否安装成功

2、Vue项目简介

 1、创建vue项目

创建文件夹,并在文件夹导航栏输入cmd,进入cmd,输入vue ui进入图像界面,配置项目属性并下载,如图所示

 如图显示,此时项目创建完成

 2、vue项目目录介绍

 运行项目

 热部署:修改文件后,无需重启浏览器、服务器即可在线显示修改后的文件。

3、前端工程化开发流程

 以vue为结尾的文件均称为组件文件。

每个组件由三部分组成<template>、<script>、<style>

template生成html代码 script为js代码控制数据来源和行为    style为css样式控制

实例:

<template>
  <div>
   <!-- 通过插值表达式来显示vue数据模型中的值 -->
   <h1>{{message}}</h1>
  </div>
</template>

<script>
//export导出模块
export default {
  //创建数据模型
  data () {
    return {
      message:"Hello Vue"
    }
  },
  methods: {
    
  }
}
</script>



<style>

</style>

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vitis高层次综合学习——FPGA

高层次综合 什么是高层次综合&#xff1f;就是使用高级语言&#xff08;如C/C&#xff09;来编写FPGA算法程序。 在高层次综合上并不需要制定微架构决策&#xff0c;如创建状态机、数据路径、寄存器流水线等。这些细节可以留给 HLS 工具&#xff0c;通过提供输入约束&#xff…

tauri-vue:快速开发跨平台软件的架子,支持自定义头部UI拖拽移动和窗口阴影效果

Tauri Vue Typescript 一个使用 taurivuets 开发跨平台软件的模板&#xff0c;支持窗口头部自定义 UI 和拖拽和窗口阴影&#xff0c;不用再自己做适配了&#xff0c;拿来即用&#xff0c;非常 nice。而且已经封装好了 tauri 的 http 请求工具&#xff0c;省去很多弯路。开源…

(二)结构型模式:8、代理模式(Proxy Pattern)(C++示例)

目录 1、代理模式&#xff08;Proxy Pattern&#xff09;含义 2、代理模式的UML图学习 3、代理模式的应用场景 4、代理模式的优缺点 5、C实现代理模式的实例 1、代理模式&#xff08;Proxy Pattern&#xff09;含义 代理模式&#xff08;Proxy&#xff09;&#xff0c;为…

大数据-玩转数据-Flink 自定义Sink(Mysql)

一、说明 如果Flink没有提供给我们可以直接使用的连接器&#xff0c;那我们如果想将数据存储到我们自己的存储设备中&#xff0c;mysql 的安装使用请参考 mysql-玩转数据-centos7下mysql的安装 创建表 CREATE TABLE sensor (id int(10) ) ENGINEInnoDB DEFAULT CHARSETutf8二…

Wi-Fi 安全在学校中的重要性

Wi-Fi 是教育机构的基础设施&#xff0c;从在线家庭作业门户到虚拟教师会议&#xff0c;应有尽有。大多数 K-12 管理员对自己的 Wi-Fi 网络的安全性充满信心&#xff0c;并认为他们现有的网络安全措施已经足够。 不幸的是&#xff0c;这种信心往往是错误的。Wi-Fi 安全虽然经常…

Layui列表表头去掉复选框改为选择

效果&#xff1a; 代码&#xff1a; // 表头复选框去掉改为选择 $(".layui-table th[data-field"0"] .layui-table-cell").html("<span>选择</span>");

keil构建STM32工程并使用proteus仿真led点灯实验

STM32单片机与51单片机有很大区别&#xff0c;不仅结构上有很大差异&#xff0c;STM32更复杂一些&#xff0c;在操作上来说&#xff0c;STM32也要复杂很多&#xff0c;51单片机上手写代码&#xff0c;可以很直接操作引脚&#xff0c;但是STM32单片机在操作引脚之前需要作很多初…

数据结构——栈(C语言)

需求&#xff1a;无 栈的概念&#xff1a; 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端为栈底。栈中的数据元素遵守后进先出&#xff08;LIFO&#xff09;原则。压栈&…

分类预测 | MATLAB实现MTBO-CNN多输入分类预测

分类预测 | MATLAB实现MTBO-CNN多输入分类预测 目录 分类预测 | MATLAB实现MTBO-CNN多输入分类预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现MTBO-CNN多输入分类预测 2.代码说明&#xff1a;基于登山队优化算法&#xff08;MTBO&#xff09;、卷积神经…

ABAP: SQL 多值查询

基础查数据 问题举例&#xff1a;例如查物料类型为ZFRT、ZROH和ZRSA的物料编码。 1、直接查询&#xff0c;三种不同类型的物料类型是或的关系。 SELECT DISTINCT ma~matnr ma~mtartFROM mara AS maINNER JOIN mbewh AS mbON ma~matnr mb~matnrINTO CORRESPONDING FIELDS OF…

EmbedPress Pro 在WordPress网站中嵌入任何内容

EmbedPress Pro可让您通过高级自定义、自定义品牌、延迟加载和更多惊人功能嵌入源。为古腾堡块和Elementor编辑器提供支持的一体化 WordPress 嵌入解决方案。使用 EmbedPress 在古腾堡创建交互式内容。使用 EmbedPress 的古腾堡块立即将任何内容嵌入到您的网站。 网址: EmbedP…

最强自动化测试框架Playwright(29)-文件选择对象

FileChooser对象通过page.on("filechoose")事件监听。 如下代码实现点击百度搜图按钮&#xff0c;上传文件进行搜索。 from playwright.sync_api import Playwright, sync_playwright, expectdef run(playwright: Playwright) -> None:browser playwright.chro…

linux 学习————LNMP之分布式部署

目录 一、概述 二、LNMP环境部署 三、配置nginx 四、 配置php使nginx能够解析.php 五、配置mysql 六、配置discuz进行登录论坛访问测试 一、概述 LNMP代表 Linux、Nginx、MySQL、PHP&#xff0c;是一种常用的服务器架构。它由以下组件组成&#xff1a; Linux&#xff1a;作…

docker的数据管理

目录 一.如何管理docker容器中的数据 二.数据卷 2.1数据卷原理 2.2数据卷作用 2.3数据卷案例 三.数据卷容器 3.1数据卷容器的作用 3.2端口映射 一.如何管理docker容器中的数据 管理Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器( DataVolumes Contain…

查看 Linux 内核版本的几种方法

uname -a uname -srm uname -r 分拆&#xff1a;Linux 5.13.0-19-generic x86 64 5-内核版本 13-主修订版本 0-19 -次要修订版本 过查看 /proc/version 文件确认 /proc 目录包含虚拟文件&#xff0c;其中包含有关系统内存&#xff0c;CPU内核&#xff0c;已安装文件系统等的信…

详解零售行业供应链管理核心KPI指标(四)

现在零售行业的供应链管理越来越复杂了&#xff0c;复杂的原因是因为市场的变化、商业模式、销售模式的变化。 比如在以往传统的线上电商平台、线下渠道&#xff0c;现在线上电商还增加直播带货&#xff0c;线下渠道又增加了O2O模式。从一线城市的供应链还是做到供应链下沉到二…

开源数据库Mysql_DBA运维实战 (修改root密码)

MySQL——修改root密码的4种方法 本文以windows为例为大家详细介绍下MySQL修改root密码的4种方法&#xff0c;大家可以可以根据的自己的情况自由选择&#xff0c;希望对大家有所帮助 方法1&#xff1a; 用SET PASSWORD命令 首先登录MySQL。 格式&#xff1a;mysql> set pass…

Linux命令200例:ps用于查看当前系统中运行的进程信息(常用)

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &…

Linux安装Nginx

Linux安装Nginx 下载Nginx上传文件至服务器编译启动 下载Nginx 官网下载地址&#xff1a;https://nginx.org/en/download.html 或者关注wx公众号&#xff1a;一颗星宇宙&#xff0c;发送&#xff1a;Linux服务部署获取下载地址 上传文件至服务器 使用rz命令进行选择文件上传…

拉丁方设计资料的方差分析(SPSS版+SAS版)

拉丁方设计&#xff08;Latin square design&#xff09;&#xff1a;实验研究中涉及一个处理因素和两个控制因素&#xff0c;每个因素的类别数或水平数相等&#xff0c;此时可采用拉丁方设计&#xff0c;将两个控制因素分别安排在拉丁方设计的行和列上。该设计类型仍为单因素方…