Ajax及前端工程化

news2025/1/22 14:51:15

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>

 

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

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

相关文章

图神经网络 day2 图的分类

图神经网络基础算法 1 GCN2 GraphSAGE2.1 采样&#xff1a;采样固定长度的邻居2.2 聚合2.3 GraphSAGE_minibatch2.4 GraphSAGE_embedding 3 GAT4. 图网络的分类4.1 递归图神经网络 RGNN4.2 图卷积神经网络GCN4.3 图注意力网络 GAT4.4 图自动编码 GAE4.5 图时空网络 GSTN4.6 图生…

echarts 柱状图-折线图-饼图的基础使用

上图示例图表展示相关配置&#xff1a; var myChart echarts.init(this.$refs.firstMain);myChart.setOption({legend: { // 图例设置top: "15%",type: "scroll",orient: "vertical",//图例列表的布局朝向。left: "right",pageIconCo…

【Docker】 Docker-Composite 启动 WordPress

引 本文将使用流行的博客搭建工具 WordPress 搭建一个私人博客站点。部署过程中使用到了 Docker 、MySQL 。站点搭建完成后经行了发布文章的体验。 WordPress WordPress 是一个广泛使用的开源内容管理系统&#xff08;CMS&#xff09;&#xff0c;用于构建和管理网站、博客和…

ChatGPT​保密吗?它有哪些潜在风险?如何规避?

自2022年11月公开发布以来&#xff0c;ChatGPT已成为许多企业和个人的必备工具&#xff0c;但随着该技术越来越多地融入我们的日常生活&#xff0c;人们很自然地想知道&#xff1a;ChatGPT是否是保密的。 问&#xff1a;ChatGPT保密吗&#xff1f; 答&#xff1a;否&#xff0…

MIUI免费字体更换

一、打开主题壁纸 二、选择 热销字 三、点击右上角 搜索 四、输入 字体 可以看到&#xff0c;免费的字体没多少&#xff0c;此时这里可以输入其他关键词&#xff1a;拼音、手写等&#xff0c;看个人需求进行筛选免费即可 关键词有以下这些&#xff0c;但不局限这些哈 五、点击…

linux系统服务学习(六)FTP服务学习

文章目录 FTP、NFS、SAMBA系统服务一、FTP服务概述1、FTP服务介绍2、FTP服务的客户端工具3、FTP的两种运行模式&#xff08;了解&#xff09;☆ 主动模式☆ 被动模式 4、搭建FTP服务&#xff08;重要&#xff09;5、FTP的配置文件详解&#xff08;重要&#xff09; 二、FTP任务…

共读《科研论文配图绘制指南--基于Python》学习重点

Book 《科研论文配图绘制指南–基于Python》 特别提示 学习内容&#xff08;书籍前3章&#xff09;开营时在群内以PDF形式发放 课程背景 系统地介绍基于Python的科研论文配图的绘制技巧&#xff0c;提高科研工作者的绘图效率&#xff1b; 100多种图形的详细绘制方法&#…

STM32F103-OLED使用教程

目录 1. OLED屏介绍2. OLED如何显示一个点3. 配置OLED屏幕4. OLED显示字符串和汉字5. OLED屏幕显示图片6. 总结 1. OLED屏介绍 OLED&#xff08;Organic Light Emitting Diode&#xff09;&#xff1a;有机发光二极管OLED显示屏&#xff1a;性能优异的新型显示屏&#xff0c;具…

Vue组件(详解)

目录 组件&#xff1a; 全局组件&#xff1a; 在HTML页面声明template&#xff1a; 局部组件&#xff1a; 局部组件第一种方式&#xff1a; 局部组件第二种方式&#xff1a; 插槽slot&#xff1a; 匿名插槽&#xff1a; 具名插槽&#xff1a; 父子组件通信&#xff1…

【双指针_和为 s 的两个数_C++】

和为s的两个数字 class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {int n nums.size();int left 0;int right n-1;while(left<right){if(nums[left]nums[right]>target) right--;else if(nums[left]nums[right]<tar…

Postman接口自动化测试实例

一.实例背景 在实际业务中&#xff0c;经常会出现让用户输入用户密码进行验证的场景。而为了安全&#xff0c;一般都会先请求后台服务器获取一个随机数做为盐值&#xff0c;然后将盐值和用户输入的密码通过前端的加密算法生成加密后串传给后台服务器&#xff0c;后台服务器接到…

车载以太网物理层

车载以太网物理层 O S I 参考模型的第 1 层&#xff08; 最底层&#xff09;。负责逻辑信号&#xff08; 比特流&#xff09;与物理信号&#xff08;电信号、光信号&#xff09;之间的互相转换&#xff0c;通过传输介质为数据链路层提供物理连接。 车载以太网与传统以太网相比…

matlab使用教程(16)—图论中图的定义与修改

1.修改现有图的节点和边 此示例演示如何使用 addedge 、 rmedge 、 addnode 、 rmnode 、 findedge 、 findnode 及 subgraph 函数访问和修改 graph 或 digraph 对象中的节点和/或边。 1.1 添加节点 创建一个包含四个节点和四条边的图。s 和 t 中的对应元素用于指定每条…

【教程】零成本将小米净化器改造为无叶风扇

某宝某多上&#xff0c;就这么点破塑料&#xff0c;就要买79&#xff1f;&#xff01;&#xff01; 我这枚韭菜可不上当。咱自己做一个&#xff01; 真香~

BBS项目day02、注册、登录(登录之随机验证码)、修改密码、退出登录、密码加密加盐

一、注册 1.注册之前端页面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册页面</title><!--动态引入文件-->{% load static %}<script src"{% static js/jquery.min.js %…

jquery技术学习2

移动节点 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>移动节点</title><script type"text/javascript" src"../script/jquery-3.6.0.min.js"></script>&l…

【Spring】深入理解 Spring 事务及其传播机制

文章目录 一、Spring 事务是什么二、Spring 中事务的实现方法2.1 Spring 编程式事务&#xff08;手动&#xff09;2.1.1 编程式事务的使用演示2.1.2 编程式事务存在的问题 2.2 Spring 声明式事务&#xff08;自动&#xff09;2.2.1 Transactional 作用范围2.2.2 Transactional …

化繁为简,使用Hibernate Validator实现参数校验

前言 在之前的悦享校园的开发中使用了SSM框架&#xff0c;由于当时并没有使用参数参数校验工具&#xff0c;方法的入参判断使用了大量的if else语句&#xff0c;代码十分臃肿&#xff0c;因此最近在重构代码时&#xff0c;将框架改为SpringBoot后&#xff0c;引入了Hibernate V…

HCIP MPLS实验

MPLS实验 拓扑MPLS VPN配置PE与PE间建立MP-BPG邻居关系R7访问R2,R3,R4环回 拓扑 MPLS VPN配置 首先可以用OSPF协议将R2,R3,R4跑通&#xff0c;然后配置MPLS [R2]mpls lsr-id 2.2.2.2 定义MPLS的router-id&#xff0c;要为本地设备的真实ip地址&#xff0c;且邻居可达&#…

机器学习算法之-逻辑回归(2)

为什么需要逻辑回归 拟合效果太好 特征与标签之间的线性关系极强的数据&#xff0c;比如金融领域中的 信用卡欺诈&#xff0c;评分卡制作&#xff0c;电商中的营销预测等等相关的数据&#xff0c;都是逻辑回归的强项。虽然现在有了梯度提升树GDBT&#xff0c;比逻辑回归效果更…