后端人员给前端返回的数据(往往也就是返回的json)中的code码,并不是“HTTP响应状态吗“,HTTP的200则是前后端成功互通的响应;
而这个后端返回的code是后端人员自己定义的“操作成功”的状态码。他们规定,仅仅当json.code == 200时,才说明操作成功;否则就是操作异常,我们前端仅仅需要把json.message里的消息,显示出来给用户即可;
所以我们在大部分请求消息中,在AJAX成功的回调函数中,都应该先判断返回的json.data.code是否等于200;再决定下一步操作;如果那次json中的message为空了;我们应该提醒后端人员;让其补上。
下面是原生的AJAX请求的四部操作,这里演示的是GET请求;
//1
let xhr = new XMLHttpResquest();
//2
xhr.onreadystatechange = function() {
if(xhr.readyState === 4) {
if(xhr.status === 200) {
doSuccessResponse(xhr); //这里的就是jquery等框架定义的success成功的回调函数
} else {
alert("响应完成但问题"); //这里的就是jquery等框架定义的success成功的回调函数
}
}
}
//3 xhr.open("GET", "x.php?k=v&k=v", true);
//4 xhr.send(null);