有时,我们的后台接口有权限的限制,不满足权限,就返回错误码401,那么在js中如何判断呢?
if ((data.status && data.status == '401') || (data.statusText && data.statusText == 'No Transport')) { console.log(data); var currentUrl = window.location.href; window.location.href = currentUrl; return; }
下面是真实的返回:
Object {readyState: 4, responseText: "", status: 401, statusText: "Unauthorized"}
{readyState: 4, responseText: "", status: 401, statusText: "Unauthorized"}
java后台代码:
spring MVC拦截器中的部分代码:
if(StringUtil.isNullOrEmpty(token)){//added by huangwei logger.error("token is null"); response.setStatus(401); return false; }
优化如下:
if ((data.status && data.status == '401') || (data.statusText && (data.statusText == 'No Transport'||data.statusText == 'Unauthorized'))) { console.log(data); var currentUrl = window.location.href; if(currentUrl){ currentUrl=currentUrl.replace(/#$/,''); } window.location.href = currentUrl; return; }
相关推荐
在JavaScript开发中,有时我们需要对全局的Ajax请求进行拦截,以便进行统一的处理,比如添加统一的错误处理、数据格式化、性能监控等。这种需求通常可以通过“Ajax Hook”技术来实现。Ajax Hook允许我们捕获并修改...
今天在使用 ajax 向后台请求数据时出现错误,提示状态码为 0 ,后台采用的是 spring mvc 架构。 状态码为0是什么意思呢?查找了下,原来它意味着 (未初始化)即没有调用到send()方法,我原来代码如下 : $.ajax...
打包好的Ajax代码,实现了对象化,使用时直接调用就可以了,调用时需要重构三个方法,如下: <script type="text/javascript"> function onerror() //错误处理方法 { alert("error"); } function getInfo() //...
在上述代码中,如果服务器在4秒内没有返回响应,那么error回调函数会被触发,并且可以在此函数中再次发起Ajax请求,或者进行其他的错误处理操作。这种处理方式特别适合于需要周期性检查服务状态的场景,如轮询某个...
在上述代码中,我们定义了AJAX请求的各个关键属性:url指定服务器接口,type定义请求方法,data是待发送的数据,dataType指明期望的响应格式。success和error回调分别处理成功和失败的情况。 然而,为了更简洁,...
这里我们可以查看请求的详细信息,如请求头、响应头、请求体和响应数据,以及状态码,从而判断请求是否成功。 此外,Postman是一个强大的API测试工具,可以在非浏览器环境下模拟各种HTTP请求。但需要注意的是,...
在AJAX请求中,事件处理是非常关键的一部分,它允许我们控制请求的生命周期,并在特定阶段执行相应的函数。本文将深入探讨"AJAX请求完成时执行的函数"以及相关的Ajax事件。 1. **AJAX请求过程** AJAX请求通常包括...
在上述代码中,`.beforeSend`允许我们在请求发送前修改XMLHttpRequest对象,而`.statusCode`则让我们能够针对不同的HTTP状态码执行特定的回调函数。 总结来说,这个jQuery+AJAX的实例展示了如何利用jQuery的$.ajax...
// 发送Ajax请求 $.ajax({ url: 'check_login.php', // 假设这是后端处理登录验证的URL type: 'POST', data: { username: username, password: password }, dataType: 'json', success: function(response) {...
最后,这个`ajax`函数提供了一个简洁的方式去发送AJAX请求,可以方便地与其他JavaScript代码集成。然而,现在的前端开发中,更多的开发者倾向于使用jQuery、axios、fetch这样的库或API,它们提供了更强大、更易用的...
开发者需要根据这些文档编写符合规范的AJAX请求。 在"图书管理案例.html"中,可以看到实际的HTML结构和JavaScript代码,包括事件监听、AJAX调用、数据处理等部分。通过阅读和分析这个文件,可以更深入地理解如何在...
通常,当我们发送一个Ajax请求时,我们关注的是成功的200状态码或者错误状态码如404或500。但在需要用户登录的场景下,服务器可能会返回一个非200的状态码,比如401(未经授权)或403(禁止访问)。这时,我们可以...
在这个场景中,我们需要将通过Ajax请求获取的数据用于外部的JavaScript函数或脚本中。以下是如何实现这一目标的详细步骤和相关知识点: 1. **创建Ajax请求**: 使用jQuery中的`$.ajax()`函数,我们可以发起一个...
1. **JavaScript事件监听**:在用户触发某个操作(如点击按钮)时,JavaScript可以通过监听事件来捕获这一行为,并在事件触发后执行相应的AJAX请求。 2. **AJAX调用**:使用JavaScript的XMLHttpRequest对象或更现代...
为了实现Ajax请求,开发者需要在JavaScript中编写以下步骤: 1. 创建XMLHttpRequest对象。 2. 配置请求,包括URL(指向服务器端的Struts Action),HTTP方法(通常是GET或POST)以及可能的请求头。 3. 发送请求,...
在JavaScript中,通常使用XMLHttpRequest对象来创建Ajax请求。以下是一个简单的Ajax请求示例: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'data.json', true); // GET请求,替换为'data.json...
使用jQuery、axios或fetch等库发送Ajax请求,可以通过设置超时、错误处理、缓存策略等进一步优化并发请求的处理。 四、示例代码 这里提供一个使用jQuery的Ajax请求队列示例: ```javascript var requestQueue = ...
在JavaScript中,我们通常使用`XMLHttpRequest`对象或者更现代的`fetch` API来实现AJAX请求。以下是一个简单的AJAX登录验证的例子: ```javascript var xhr = new XMLHttpRequest(); xhr.open('POST', '/api/login'...
在AJAX请求中,后端服务通常会返回一个状态码,例如SuccessCode,客户端需要根据这个状态码来验证请求是否成功,并执行相应的逻辑处理。这能够确保客户端根据服务器的响应做出正确的操作,例如提示用户操作成功、...
以下是一个简单的Java Spring Filter实现,用于判断和处理AJAX请求: ```java import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...