<template>
<div class="login-box">
<div class='login-main'>
<div class="login-item">
<label>用户名:</label>
<input type='phone' v-model='phone'/>
</div>
<div class="login-item">
<label>密码:</label>
<input type='password' v-model='password'/><br />
</div>
<div class="login-item">
<button @click.stop='mylogin'>登录</button>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'Login',
data () {
return {
phone:"18809234342",
password:"d70b44728ad9902aecba32e22fa1f6b6"
}
},
computed:{
},
methods:{
mylogin:function(){
this.$http({
url:this.$store.state.apiaddress+"/social/login/login",
method:"POST",
data:{
"phone":this.phone,
"password":this.password
},
emulateJSON: true
}).then(function(data){
console.log(data);
this.$store.state.phone=2;
this.$store.state.tokenId=2;
},function(response){
console.log(response);
});
}
}
}
</script>
<style scoped="scoped">
.login-box{
display: flex;
flex-direction: column;
align-items: center;
height:600px;
justify-content: center;
}
.login-main{
border:solid 1px #eee;
background:#eee;
opacity: 0.8;
height:200px;
width:300px;
display: flex;
flex-direction: column;
justify-content: center;
}
.login-item label{
width:70px;
text-align: left;
display:inline-block;
}
.login-item{
padding:10px;
}
.input{
height:35px;
line-height:35px;
border:solid 1px #2C3E50;
}
</style>
请求报错
看样子是说缺少必须参数,但是我这里已经写了
你这样的话,后台拿不到参数,因为你传了个对象过去,如果是java,后台要写成@RequestBody而不是@RequestParam.你可以把url?phone=xxx这样传
错误是后台没收到phone参数吧.$http请求里面post的参数是放在data里面的吗?好像放在body里面的吧?
用工具抓包看一下
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。