当你接收到400 这里失败请求的时候,其实已经成功访问服务器了,可能你发送的post数据在服务器那边校验失败了,如果你的服务器返回的是json格式的话,在前端接收到的也是json格式,如果你使用axios发送请求的话,在catch的时候,返回的error并不是一个对象,而是这样的字符串:
那么axios发送post请求不管成功状态码200,还是失败状态码400或其他,都接收到json格式,让我们前端知道具体是什么原因而请求失败呢【必须访问error.response响应对象】
axios参考文档:https://www.kancloud.cn/yunye/axios/234845
async _getServerResponse () { axios.post( config.server_register_url, this.form_data ).then( result => { // 只有状态码为200,才能返回true,说明注册成功,其他状态码全部失败! return result.data.code === 200; } ).catch( ( error ) => { // 【务必注意】这里的error输出的不是一个对象【error.response才是一个对象】 console.log(error); if (error.response) { // 请求已发出,但服务器响应的状态码不在 2xx 范围内 console.log( error.response.data ); console.log( error.response.status ); console.log( error.response.headers ); } else { // Something happened in setting up the request that triggered an Error console.log( "Error", error.message ); } console.log( error.config ); } ); return false; }