最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
就答题情况而言,第一问100%都可以回答正确,第二问大概只有50%正确率,第三问能回答正确的就不多了,第四问再正确就非常非常少了。其实此题并没有太多刁钻匪夷所思的用法,都是一些可能会遇到的场景,而大多数人但凡有1年到2年的工作经验都应该完全正确才对。
只能说有一些人太急躁太轻视了,希望大家通过此文了解js一些特性。
并祝愿大家在新的一年找工作面试中胆大心细,发挥出最好的水平,找到一份理想的工作。
首先我是这么写的:
这里可以简单说下
发送get请求都是传递param,发送post请求都是传递data
由于我发送请求之前就把表单数据定义成一个叫data的变量,完整写法应该是:
data:data // 由于key和value一致,可以简写为data
// 新增用户信息
saveUserInfo(){
let data = this.ruleForm;
axios.post('http://localhost:9090/user/save',{data},{
headers: {
"Content-Type":"application/json"
},
}).then(res =>{
// 请求成功状态为200说明添加成功
if(res.data.status===200){
// 关闭用户新增表单弹窗
this.dialogFormVisible=false,
// 添加成功提示
this.$message({showClose: true, message: '添加成功!',type: 'success', duration:2000,center:true});
// 重新刷新列表数据
this.queryUserList();
}
}).catch(error =>{
console.log(error)
})
},
发送请求并发现问题
上面代码写完直接运行,直接通过network查看请求
仔细一看好像没有什么问题吧,但是我在后端打了断点,一看,我的数据没了:
解决问题
然后我仔细分析,发现是因为数据的外面报了一层data:{}结构,经过请教圈子里面的大佬,发现问题所在:
就是data被花括号包起来了,去掉即可解决问题!
saveUserInfo(){
// 表单数据
let data = this.ruleForm;
axios.post('http://localhost:9090/user/save',data,{
// json格式
headers: {
"Content-Type":"application/json"
},
},
再次运行,解决问题:
后端也正常接收数据了:
至此问题解决
小插曲
下面是一个小插曲,就是有朋友和我说需要用qs进行转换下表单数据,但是我试过了。和这个参数转换问题无关,
安装qs插件
直接执行命令:
npm install qs
这个包很小哇,安装起来很快的:
引用qs
安装完之后,就可以使用qs了,直接在文件中引用
// 引用qs
import qs from 'qs'
使用qs
引用qs完后,就可以使用它把对象格式化为一个字符串,一行代码即可
最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
就答题情况而言,第一问100%都可以回答正确,第二问大概只有50%正确率,第三问能回答正确的就不多了,第四问再正确就非常非常少了。其实此题并没有太多刁钻匪夷所思的用法,都是一些可能会遇到的场景,而大多数人但凡有1年到2年的工作经验都应该完全正确才对。
只能说有一些人太急躁太轻视了,希望大家通过此文了解js一些特性。
并祝愿大家在新的一年找工作面试中胆大心细,发挥出最好的水平,找到一份理想的工作。