我使用的是通过JavaScript调用API jQuery.ajax电话。 通过API使用401回应,如果用户没有通过验证,我想忽略这个错误仅此呼叫。
我试着在jQuery的选项描述的所有回调选项,但错误仍然在浏览器控制台弹出(无论是在Firefox和Chrome)。
这里是一个触发错误的样本代码:
$.ajax({
type: 'GET',
url: '/url-with-auth',
dataType: 'json',
statusCode: {
401: function (error) {
// simply ignore this error
console.log(error);
}
},
complete: logall,
error: function () {
// simply ignore this error
console.log(error);
},
async: false
}).fail(function () {
// ignore the error and do nothing else
console.log("$.get failed!");
});
这也有,因为浏览器认为该用户没有通过验证,那么在下面的请求,用户需要重新输入自己的HTTP凭据再次请求其通过.htaccess文件保护的暂存计算机上的用户凭据的副作用。
有没有办法完全忽略这个错误?
编辑
目前,我有完全缓存应用端的HTML模板,我想保持这种行为表现的原因。 这改变了布局的唯一组成部分,是当前用户的登录信息,所以我渲染(缓存)页面,登录用户不默认的标记,然后使用jQuery我更换标记的相关内容与登录信息通过AJAX调用返回。 因此,如果用户没有登录和AJAX端点返回401我什么都不需要,标记应保持不变。
一切工作在这一刻,只有丑陋的事情是,我有401,我想的JavaScript错误控制台,并摆脱它。
这是我说的是消息的截图: