Javascript TypeError:res.response未定义
我正在Vue/Laravel的SPA中使用JWT auth进行用户身份验证。我的注册模块有问题,当我点击按钮时,它没有做任何事情,我检查了Firefox developer edition的控制台,它向我抛出以下错误: TypeError:res.response未定义 这是我的密码Javascript TypeError:res.response未定义,javascript,laravel,vue.js,Javascript,Laravel,Vue.js,我正在Vue/Laravel的SPA中使用JWT auth进行用户身份验证。我的注册模块有问题,当我点击按钮时,它没有做任何事情,我检查了Firefox developer edition的控制台,它向我抛出以下错误: TypeError:res.response未定义 这是我的密码 <template> <div class="container"> <div class="card card-default"> <div cl
<template>
<div class="container">
<div class="card card-default">
<div class="card-header">Inscription</div>
<div class="card-body">
<div class="alert alert-danger" v-if="has_error && !success">
<p v-if="error == 'registration_validation_error'">Error</p>
<p v-else>Try again later.</p>
</div>
<form autocomplete="off" @submit.prevent="register" v-if="!success" method="post">
<div class="form-group" v-bind:class="{ 'has-error': has_error && errors.email }">
<label for="email">E-mail</label>
<input type="email" id="email" class="form-control" placeholder="user@example.com" v-model="email">
<span class="help-block" v-if="has_error && errors.email">{{ errors.email }}</span>
</div>
<div class="form-group" v-bind:class="{ 'has-error': has_error && errors.password }">
<label for="password">Mot de passe</label>
<input type="password" id="password" class="form-control" v-model="password">
<span class="help-block" v-if="has_error && errors.password">{{ errors.password }}</span>
</div>
<div class="form-group" v-bind:class="{ 'has-error': has_error && errors.password }">
<label for="password_confirmation">Confirm password</label>
<input type="password" id="password_confirmation" class="form-control" v-model="password_confirmation">
</div> <button type="submit" class="btn btn-default" @click="register">Inscription</button>
</form>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
name: '',
email: '',
password: '',
password_confirmation: '',
has_error: false,
error: '',
errors: {},
success: false
}
},
methods: {
register() {
var app = this
this.$auth.register({
data: {
email: app.email,
password: app.password,
password_confirmation: app.password_confirmation
},
success: function () {
app.success = true
this.$router.push({
name: 'Login',
params: {
successRegistrationRedirect: true
}
})
},
error: function (res) {
console.log(res.response.data.errors)
app.has_error = true
app.error = res.response.data.error
app.errors = res.response.data.errors || {}
}
})
}
}
}
</script>
铭文
错误
稍后再试
电子邮件
{{errors.email}
路况
{{errors.password}}
确认密码
铭文
导出默认值{
数据(){
返回{
名称:“”,
电子邮件:“”,
密码:“”,
密码\u确认:“”,
有错误:false,
错误:“”,
错误:{},
成功:错
}
},
方法:{
寄存器(){
var app=这个
这是$auth.register({
数据:{
电子邮件:app.email,
密码:app.password,
密码确认:app.password\u确认
},
成功:函数(){
app.success=true
这是$router.push({
名称:'登录',
参数:{
成功注册重定向:true
}
})
},
错误:函数(res){
console.log(res.response.data.errors)
app.has_error=true
app.error=res.response.data.error
app.errors=res.response.data.errors{}
}
})
}
}
}
如果这给出了某种提示,控制台中也会出现以下警告:
原因:CORS请求未成功
我不知道为什么会发生这种情况。您遇到了CORS错误,这意味着您向其发出请求的服务器不允许来自您的客户端域的请求。如果您拥有服务器,则需要将您的域添加到允许的域列表中,或者如果此操作失败,请检查是否允许请求方法“POST” 看起来您随后会收到“res.response”错误,因为当错误被错误函数捕获时,它会返回一条没有“response”属性的错误消息。请尝试console。记录“res”响应以查看它给您带来了什么,并从中调整您使用的属性