Tag: 拦截器

Angular.js $ http拦截“net :: ERR_CONNECTION_REFUSED”

我试图用$http'的拦截器为我的网站编写一个通用的error handling程序,但他们似乎无法做我想做的事情。 我在'response'和'responseError'放置了拦截器,但是当服务器离线/不响应时(net :: ERR_CONNECTION_REFUSED),它们不会被调用。 我明白为什么会发生这种情况,对拦截没有反应。 我想知道是否有捕获这些错误的通用方法,除了听每个请求$httpPromise的errorcallback。

Spring MVC 3,所有的拦截器都排除了一些定义的path

是否可以将拦截器应用于所有控制器和操作,除了一些已定义的? 只是要清楚,我没有兴趣在一个定义的列表上应用拦截器。 我想定义那些排除。 谢谢!

AngularJS拦截所有$ http JSON响应

我有一个使用AngularJS构build的应用程序和一个以JSONforms提供所有请求的服务器端后端。 每个请求都包装在一个JSON容器中,该容器包含一个包含特定于请求的数据的数据variables。 其他数据用于在应用程序中保持状态和控制,检查错误和成功消息,并检查会话标志。 所有这些其他variables都与EVERY请求一起提供,并在数据variables之前被首先检查。 现在我有一个方法来检查JSON响应的内容,然后是数据本身。 $http.get('something.json').success(function(response) { var data = examineJSONResponse(response); //do the data stuff }); 这工作和examineJSONResponse看看代码,如果有什么问题,那么它会抛出一个exception,并使用window.location.href重新加载页面。 有没有什么办法可以在AngularJS中自动执行这个操作,以便每次进行$ http调用,然后检查这个并只返回数据variables内容作为JSON响应?

Spring HandlerInterceptor与Servletfilter

Spring中的HandlerInterceptor现在可以被configuration为仅在特定的URL上使用<mvc:interceptors>来调用。 Servletfilter可以实现相同的function(日志logging,安全等)。 那么应该使用哪一个? 我认为使用拦截器,可以使用ModelAndView对象来处理模型,所以它具有更多的优势。 任何人都可以画出filter或拦截器相比其他优势的情况吗?

如何拦截不同的JS库所产生的所有AJAX请求

我正在用不同的JS库(AngularJS,OpenLayers,…)构build一个Web应用程序,并且需要拦截所有AJAX响应,以防万一logging的用户会话过期(响应回到401 Unauthorized状态),以将他redirect到login页面。 我知道AngularJS提供interceptors来pipe理这样的场景,但是无法find一种方法来实现OpenLayers的这种注入请求。 所以我select了一个香草JS方法。 在这里我find了这段代码 (function(open) { XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { this.addEventListener("readystatechange", function() { console.log(this.readyState); // this one I changed }, false); open.call(this, method, url, async, user, pass); }; })(XMLHttpRequest.prototype.open); …我调整了它,看起来像预期的行为(只在最后的谷歌浏览器进行testing)。 因为它修改XMLHTTPRequest的原型,我想知道这可能会导致多么危险,或者如果它可能会产生严重的性能问题。 顺便说一下,会有任何有效的select? 更新:如何拦截请求,然后才能发送 以前的技巧工作正常。 但是如果在同一情况下你想在发送请求之前注入一些头部呢? 请执行下列操作: (function(send) { XMLHttpRequest.prototype.send = function(data) { // in this case I'm injecting an access […]

意外的exception在class xxx上设置了'xxx':设置值为'x'的错误'xxx'

我通过查询string将一些parameter passing给实现ModelDriven<Transporter>的操作类。 <s:form namespace="/admin_side" action="Test" id="dataForm" name="dataForm"> <s:url id="editURL" action="EditTest" escapeAmp="false"> <s:param name="transporterId" value="1"/> <s:param name="transporterName" value="'DHL'"/> </s:url> <s:a href="%{editURL}">Click</s:a> </s:form> 动作类如下。 @Namespace("/admin_side") @ResultPath("/WEB-INF/content") @ParentPackage(value = "struts-default") public final class TestAction extends ActionSupport implements Serializable, Preparable, ModelDriven<Transporter> { private static final long serialVersionUID = 1L; private Transporter transporter = new Transporter(); @Action(value = "Test", results […]