前端fetch,后端返回500的错误解决
2019-09-19 11:09 雄风狂飙 阅读(2787) 评论(0) 收藏 举报前端代码如下
fetch('/chaptchaVerify', {
method: 'post',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: "kaptchaName=" + kaptcha
}).then((response) => {
if (response.status >= 200 && response.status < 300) {
return Promise.resolve(response);
} else {
return Promise.reject(new Error(response.statusText));
}
}).then((response) => {
response.text().then( (data)=>{
console.log(data);
} );
}).catch((err) => {
console.log(err);
});
但是,从后端返回的状态一直是500,经查,后台的返回类型是map所致,修改为string就可以了
后端的返回值修改为String,
@Controller
public class LoginController {
@RequestMapping(value="/chaptchaVerify",method= RequestMethod.POST)
@ResponseBody
public String verify(HttpServletRequest request){
String codeExpected = (String) request.getSession().getAttribute(
com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
String actualCode = request.getParameter("kaptchaName");
String strResult ;
if( codeExpected.equals(actualCode) ) {
strResult = "success";
}
else{
strResult = "error";
}
return strResult;
}
}
浙公网安备 33010602011771号