首页 新闻 搜索 专区 学院

vue 表单提交是不是只能post 拼接键值对??

0
[待解决问题]

代码如下:

submit(){
if(this.newPassword == this.form.rePassword||(this.newPassword==""&&this.form.id!=null&&this.form.id!='')){
this.$http.post("/sys/area/usersave",
"office.id="+this.form.office.id+"&"+
"company.id="+this.form.company.id+"&"+
"name="+this.form.name+"&"+
"loginName="+this.form.loginName+"&"+
"password="+this.form.password+"&"+
"no="+this.form.no+"&"+
"email="+this.form.email+"&"+
"phone="+this.form.phone+"&"+
"mobile="+this.form.mobile+"&"+
"userType="+this.form.userType+"&"+
"loginFlag="+this.form.loginFlag+"&"+
"oldLoginName="+this.oldLoginName+"&"+
"newPassword="+this.newPassword+"&"+
"roleList="+this.roleList+"&"+
"id="+this.form.id
).then((data)=>{
this.$message({ message: '提交成功!',type: 'success' });
}).then((data)=>{
this.$message({message: '网络错误!',type: 'warning'});
});
}else{
this.$message.error('两次密码请输入一致');
}
this.dialogFormVisible=false;
}

感觉很坑爹啊。。这还好只有几个属性,绑值绑的好累。。有木有其他的方法提交呢?

< >
分享
所有回答(2)
0

可以把要提交的数据全部放在一个对象中,比如你哪个form对象

在提交时写一个函数遍历这个对象的属性拼接提交数据即可

也可以遍历form表单下所有带name属性的标签,vue可以结合jquery一起用嘛

幻影gool | 园豆:257 (菜鸟二级) | 2018-04-24 18:56
0

首先,把表单内容按照键值对放在一个对象里面,然后,post的时候指定一下 :

headers:{'Content-Type': 'application/x-www-form-urlencoded'}

 

如果我没猜错的话,很多人喜欢把 axios 附加到 Vue 实例的 $http 属性上面,所以,你仔细阅读 axios 的文档就好了

不如隐茶去 | 园豆:549 (小虾三级) | 2018-05-07 18:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册