代码如下:
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;
}
感觉很坑爹啊。。这还好只有几个属性,绑值绑的好累。。有木有其他的方法提交呢?
可以把要提交的数据全部放在一个对象中,比如你哪个form对象
在提交时写一个函数遍历这个对象的属性拼接提交数据即可
也可以遍历form表单下所有带name属性的标签,vue可以结合jquery一起用嘛
首先,把表单内容按照键值对放在一个对象里面,然后,post的时候指定一下 :
headers:{'Content-Type': 'application/x-www-form-urlencoded'}
如果我没猜错的话,很多人喜欢把 axios 附加到 Vue 实例的 $http 属性上面,所以,你仔细阅读 axios 的文档就好了