this.$axios({ url: `/api/login`, method: 'post', data: { ...this.formLabelAlign } }).then(res => { let resData = res.data.data // debugger if (resData != null) { //获取头像信息 var cid = resData.userId; var role = resData.role; this.$axios.get(`/api/user/info/img/${cid}/${role}`).then(res => { if (res.data.code === 200) { this.$cookies.set("userImg", res.data.data) } switch (role) { case 0: //管理员 this.$cookies.set("cname", resData.name) this.$cookies.set("cid", resData.userId) this.$cookies.set("role", 0) this.$router.push({ path: '/admin' }) //跳转到首页 break case 1: //教师 this.$cookies.set("cname", resData.name) this.$cookies.set("cid", resData.userId) this.$cookies.set("role", 1) this.$router.push({ path: '/index' }) //跳转到教师用户 break case 2: //学生 this.$cookies.set("cname", resData.name) this.$cookies.set("cid", resData.userId) this.$cookies.set("role", 2) this.$router.push({ path: '/student' }) break } })
时间: 2024-02-14 13:21:07 浏览: 144
这段代码是一个 Vue.js 的组件中的一个方法,用于处理用户登录的逻辑。在该方法中,使用 this.$axios 发起一个 POST 请求到 `/api/login` 接口,并将 `this.formLabelAlign` 对象作为请求体发送。如果请求成功,将会在响应中获取到用户信息(如用户 ID、角色等),然后再使用 this.$axios 发起另一个 GET 请求获取用户头像信息,并将其存储到浏览器的 Cookie 中。最后,根据用户角色的不同,通过 this.$cookies.set 设置不同的 Cookie 信息,并使用 this.$router.push 跳转到不同的页面。如果用户角色为管理员,则跳转到首页;如果用户角色为教师,则跳转到教师用户页面;如果用户角色为学生,则跳转到学生页面。
相关问题
前端vue的代码 this.$axios({ url:'/user/login', method:'post', data:{ username:'18202811851',//账户 password:'123456',//密码 } }).then(()=>{ // this.$router.push('/Page') }),public JsonData login(@RequestParam(required = true) String username, @RequestParam(required = true) String password),前端vue访问报错: Required String parameter 'username' is not present,这是为什么
根据你提供的前端vue代码,请求的参数应该是按照正确的格式发送的。因此,问题可能出在后端代码中。
首先,建议检查一下后端代码中的`@RequestParam`注解是否正确使用。例如,`@RequestParam(required = true)`表示该参数是必需的,如果请求中缺少该参数,会抛出异常。如果参数缺少或者参数名写错了,就会报错。
其次,还需要检查一下后端接口的请求方式是否正确。例如,在前端vue代码中,请求的是`POST`请求,而后端接口中的注解是`@PostMapping`,这两者需要保持一致。如果前端发送的是`GET`请求,后端应该使用`@GetMapping`注解来接收请求。
最后,建议在后端代码中添加日志输出,方便查看请求的详细信息,例如:
```java
@PostMapping("/login")
public JsonData login(@RequestParam(required = true) String username, @RequestParam(required = true) String password) {
log.info("Received login request with username: {}", username);
// 处理登录逻辑
// ...
}
```
这样,在控制台中就可以看到每个请求的详细信息,方便定位问题。
AxiosError: Network Error\n at XMLHttpRequest.handleError (webpack-internal:///./node_modules/axios/lib/adapters/xhr.js:155:14)
引用\[1\]:AxiosError: Network Error\n at XMLHttpRequest.handleError (webpack-internal:///./node_modules/axios/lib/adapters/xhr.js:155:14) 引用\[2\]:Vue项目axios请求时报错Network Error at createError at XMLHttpRequest.handleError 错误解决可能的原因一解决方案 可能的原因二解决方案 错误 Vue项目axios请求时报错: Error: Network Error at createError (https://localhost:3000/node_modules/.vite/axios.js?v=2d671dec:333:19) at XMLHttpRequest.handleError (https://localhost:3000/node_modules/.vite/axios.js?v=2d671dec:584:18) 解决 可能的原因一 VUE跨域问题 解决方案 // TODO 可能的原因二 axios调用的情况下,用了params传递参数,但参数格式不匹配,或使用params传递了JSON Object\JSON Array对象。 axios({ method: 'post', url: "/mgPrototype/findByLikeModel3", params: { search: \[{“key”:“value”}\] } }) 解决方案 匹配参数格式、换成data传递。 axios({ method: 'post', url: "/mgPrototype/findByLikeModel3", data: { search: \[{“key”:“value”}\] } })。 引用\[3\]:具体使用代码如下: /* * 用户相关请求模块 */ import qs from 'qs' import request from '@/utils/request' // 用户登录 export const login = data => { console.log(qs.stringify(data)) return request({ method: 'POST', url: 'StudentAccount/Login', // data 用来设置 POST 请求体 // data: data // 同名时可以简写 data: qs.stringify(data) }) }。
问题: AxiosError: Network Error\n at XMLHttpRequest.handleError (webpack-internal:///./node_modules/axios/lib/adapters/xhr.js:155:14)
回答: 这个错误通常是由于网络问题引起的。可能的原因之一是VUE项目的跨域问题,可以通过配置后端服务器来解决。另一个可能的原因是在使用axios调用时,使用了params传递参数,但参数格式不匹配,或者使用params传递了JSON Object/JSON Array对象。解决方案是匹配参数格式,或者使用data传递参数。具体的解决方法可以参考代码示例中的注释和示例代码。
#### 引用[.reference_title]
- *1* *3* [解决core3.0跨域请求问题:【Error: Network Error at createError (createError.js?2d83:16)】前后端分离...](https://blog.csdn.net/weixin_40359716/article/details/109528204)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [techQ&A · Vue项目axios请求时报错Network Error at createError at XMLHttpRequest.handleError](https://blog.csdn.net/qq_41113339/article/details/120439955)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文