最近在做前后端的项目,前端用的是react,后台用的是springboot,想实现登录的前后端交互,具体是:前端输入用户名、密码,点击登陆后,通过fetch发送post请求到后台去验证,后台返回一个结果码,然后前端根据返回的结果码来提示用户是否登陆成功。
前端处理登陆的代码如下:
onFinish = values => {
//console.log('Received values of form: ', values)
//console.log('Received values of form: ', values.username)
var getInformation={
method: "POST",
headers:{
"Content-Type":"application/json"
},
// json格式转换
body:JSON.stringify({
"username": values.username,
"password": values.password,
})
}
//test 对应于后台Controller层中的RequestMapping
fetch("http://localhost:8080/test",getInformation).then(res=>{
res.json()
console.log(res.status)
}).then(json=>{
this.setState({
mytext:json
})
})
// 登录成功,设置token令牌
Auth.setToken('shaiudhsakjsaidhsakjndsjkahdakjldsa')
// 是否点击记住我,如果点击则保存用户账号和密码
Auth.setUserPwd(values)
this.props.history.push('/admin') // 成功后跳转
}
后台controller代码如下:
@PostMapping("/test")
public ResultCode Test(@RequestBody Map<String,Object> map){
System.out.println(map.get("username"));
System.out.println(map.get("password"));
return new ResultCode("405","post请求成功");
}
自己测试了一下,后台能获取前端输入的数据,前端页面在输入用户名、密码并点击登录之后,打开开发者工具,也能看到返回的response。
下面是运行截图:
但是,我想实现的是能在控制台打印输出后台反馈回来的response数据,不知道怎么才能实现它,希望看到这篇提问的大佬们能帮忙解答一下