网站首页 > java教程 正文
* 使用axios发送多个请求:
login() {
let formData = new FormData();
formData.append("username",this.user.username);
formData.append("password",this.user.password);
formData.append("code",this.user.code);
axios({
method: "post",
url: "admin/login.do",
data: formData,
}).then(response => {
let data = response.data;
alert(data.message);
if(data.code == '2'){
// 登录成功
location.href = "student.html";
}
});
},
servlet后台接收请求:
String myCode = req.getParameter("code");
String username = req.getParameter("username");
String password = req.getParameter("password");
文件是不可以双向绑定的,是二进制数据
// ajax是异步请求,ajax会单独开辟一个线程来自己走,和我们的主JS程序不在同一个线程内
// 我们需要让我们的ajax和我们的主JS在同一个线程内
// 通过async 和 await修饰符就把ajax改成了同步请求
防止每次返回的验证码一致,get发送的请求包括参数,改变参数访问一个新的地址,避免浏览器的缓存
change() {
// 为了避免浏览器缓存,传一个参数
// 这个参数是没有意义的,它就是为了防止浏览器缓存
// verify.do?v=0.123123
// verify.do?v=0.5645656
this.src = 'verify.do?v=' + Math.random();
},
async verifyUsername() {
if(this.user.username.length < 6 || this.user.username.length > 12){
this.msg = "用户名必须在6-12位";
return false;
}
let flag = false;
await axios.get("admin/checkUser.do?username=" + this.user.username).then(response=>{
// console.log(response.data);
this.msg = response.data.message;
if(response.data.code == '0'){
flag = false;
}
if(response.data.code == '1'){
flag = true;
}
});
// 返回值是一个Promise对象。是一个特殊的对象。3个属性
return flag;
},
promise对象:
什么是回调函数?
当一个函数作为参数传入到另外一个函数,并且该函数不会立即执行;当满足某个条件时才执行该函数
同步任务:在主线程队列中,只有前一个任务完成后才会执行下一个任务
异步任务:不进入主线程队列,而是进入异步队列,前一个任务完成与否不影响后一个任务的执行(不阻塞后续任务执行的任务)
回调地狱?
这种回调函数中嵌套回调函数的情况就叫做回调地狱。回调地狱就是为是实现代码顺序执行而出现的一种操作
(1)代码的可读性差、可维护性差
(2)代码的扩展性差
要求,如果上传的数据中包含了二进制数据(文件),需要使用formData,来封装数据
// 头像,文件怎么拼?
// this.$refs.profile.files[0],获取对应的文件的二进制形式
// $refs:代表设置了ref属性的表单元素
// profile:找到ref属性为profile的表单元素
// files[0]:找到ref属性为profile的第一个表单元素
formData.append("profile",this.$refs.profile.files[0]);
* 'content-Type':'multipart/form-data'
* 代表我要传输的数据以多部分的格式来传输。
* HTML要求提交文件:multipart/form-data
* 提交普通的数据:application/x-www-form-urlencoded
headers:{
'content-Type':'multipart/form-data'
}
遍历新增一条数据怎么写?
<tr v-for="(stu,index) in students">
<td>{
<!-- -->{stu.id}}</td>
<td>{
<!-- -->{stu.name}}</td>
<td>{
<!-- -->{stu.gender}}</td>
<td>{
<!-- -->{stu.age}}</td>
<td>
<a href="#">修改</a>
<a href="#">删除</a>
</td>
</tr>
Vue的生命周期函数
created()函数就在我们访问这个页面就会执行,不能写在methods里面
打开页面直接发送请求:
created(){
axios.get("list.student").then(res => {
this.students = res.data.value;
})
}
FileSystemXmlAoolicationContext和ClassPathXmlApplicationContext 的区别?
使用ClassPathXmlApplicationContext时写配置文件相对src的相对路径
使用 FileSystemXmlAoolicationContext时使用带盘符的全路径
- 上一篇: Java 21:有什么新变化?
- 下一篇: Java服务是怎样部署的?
猜你喜欢
- 2024-11-21 java 核心技术-12版 卷Ⅰ- 5.1.6 理解方法调用
- 2024-11-21 计算机等级考试《二级java》考点精讲
- 2024-11-21 Java异常总结(一) Java异常简介及其架构
- 2024-11-21 Java 21正式发布,15大特性一览
- 2024-11-21 短信服务 platform-sms 0.6.1 发布
- 2024-11-21 Java学习需要多长时间?
- 2024-11-21 一 走进JAVA之 初识JAVA
- 2024-11-21 Java开发:Java 11 和 Java 17 引领 Java 使用情况
- 2024-11-21 Java System类详解
- 2024-11-21 JAVA基础
你 发表评论:
欢迎- 最近发表
-
- 五,网络安全IDA Pro反汇编工具初识及逆向工程解密实战
- 「JAVA8」- Lambda 表达式(java lambda表达式原理)
- 深入探讨Java代码保护:虚拟机保护技术的新时代
- Nginx反向代理原理详解(图文全面总结)
- 逆向拆解日本IT,哪些Java技术栈薪资溢价高
- mybatis 逆向工程使用姿势不对,把表清空了,心里慌的一比
- Spring Boot集成ProGuard轻松实现Java 代码混淆, Java 应用固若金汤
- 从 Java 代码逆向工程生成 UML 类图和序列图
- 人与人相处:尊重是标配,靠谱是高配,厚道是顶配
- Windows系统安装日期如何修改(windows10怎么修改安装日期)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)