问题标签 [partial-response]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jsf - 会话到期后的 Spring Security 登录重定向到最后一个 JSF ajax 请求并显示其像纯文本一样的 XML 响应
我正在处理一个结合使用 Spring Security、Spring bean、JSF、PrimeFaces 和 Hibernate 的项目。
在主页中,我使用 poll 每隔 10 秒自动获取最新数据。
问题是在我登录到主页后,我在另一个选项卡中打开主页,在该选项卡中,我单击注销并重定向到登录页面。
即使会话结束,poll 将继续发送 ajax 请求并在每 10 秒后得到响应。
然后我等待几秒钟并再次单击登录以转到主页,但这次它显示了 XML 内容,这是投票的部分响应。
如果我刷新页面,它会再次变得正常。我不知道为什么它会呈现这样的视图。
我花了很多时间试图解决这个问题,但我做不到。请帮帮我。谢谢你。
ajax - 会话过期时的 Ajax 请求返回XML 纯浏览器
这是页面发出 Ajax 请求并且会话超时后我在浏览器中得到的内容,我正在实现 OmniFaces FullAjaxExceptionHandler
。
此 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。
这是控制台中显示的错误:
FullAjaxExceptionHandler:处理 JSF ajax 请求时发生异常。将显示错误页面“/errorpages/expired.xhtml”。: javax.faces.application.ViewExpiredException: viewId:/login.xhtml - 无法恢复视图 /login.xhtml。
xml - 部分响应 xml 显示在浏览器上,而不是页面本身
我目前正在使用Spring和Primefaces 4.0开发 JSF 应用程序。在重定向到其他页面时,我们遇到了关于显示 XML 页面而不是页面本身的间歇性问题。
这似乎类似于此https://stackoverflow.com/questions/29178778/partial-response-view-expired-exception-or-malformed-xhtml。同样,无论何时发生这种情况,日志中都不会打印任何错误。
部分回应 1:
部分回应 2:
我们目前正在使用 Omnifaces 2.0 FullAjaxExceptionHandlerFactory,并且我们还在会话管理过滤器中使用了 banterCz 的JSFRedirectStrategy进行过期会话重定向。
面孔-config.xml
web.xml
ajax - 由于 ViewExpiredException 从 CustomExceptionHandler 导航后显示的部分响应 xml
嗨,我正在使用 Primefaces 4.0 开发 JSF 2.2.4 项目
我正在尝试使用以下步骤复制 ViewExpiredException。
- 转到浏览器在应用程序中登录
- 打开另一个选项卡,单击 ap:menuitem(例如会计屏幕)
-重新启动服务器(其中一个选项卡会自动重定向到登录页面)
-再次登录应用程序,然后再次单击相同的 p:menuitem [突然浏览器显示部分响应的 xml 而不是 jsf 页面]
浏览器上显示的 XML:
CustomExceptionHandler.java
面孔-config.xml
ViewExpiredException 已在异常处理程序中捕获,部分响应的 url 似乎是正确的,但出于某种奇怪的原因,为什么它显示部分响应 xml 而不是实际的 jsf 错误页面?
任何有助于阐明这个问题的帮助将不胜感激。谢谢!
jsf - 重定向后,JSF ajax 响应在浏览器屏幕中显示普通香草
我正在开发一个 JSF 应用程序,该应用程序重定向到另一个应用程序,然后在那里进行一些处理并重定向回来。问题是当我使用 JSF 应用程序 URL 作为
并重定向回 URL,
然后我在浏览器上获取 xml 页面,如下所示
但如果我使用http://localhost:8080/app_path/page.xhtml并重定向回 URL http://172.20.1.175:8080/app_path/page1.xhtml它工作正常(172.20.1.175 是我的 IP 地址) . 我正在使用 Spring Security 进行授权。
我试图找出这种行为的原因。有任何想法吗?
谢谢, 拉克马尔
ajax - 会话的部分响应过期
我们有一个 JSF 2.0、Primefaces 5.0、Spring Security 3.2.3.RELEASE 应用程序。
为了处理会话超时,我使用 primefaces idleMonitor 和 p:dialog & javascript 来显示倒计时弹出窗口并将它们重定向回登录页面。
我还实现了一个自定义 CacheControlPhaseListener,这样页面就不会被缓存。我在 CacheControlPhaseListener 的响应头中设置了 no-cache。
我还在 web.xml 中配置了错误处理:
我还实现了一个扩展 ViewHandlerWrapper 的 ViewExpiredHandler
我仍然遇到的问题是:
1. 当会话在空闲页面(例如搜索页面)上过期并且如果在页面上触发了某些 ajax 操作,即使我注销,当我导航回页面时(例如登录- > 首页-> 搜索页面)。我看到一个部分响应的 xml 错误:
<partial-response><changes><update id="blGridId"><table id="blGridId" style="width:100%;">
<tbody>
<tr>
<td><div id="blTableId" class="ui-datatable ui-widget ui-datatable-scrollable ui-datatable-resizable"><div id="sublTableId_paginator_top" class="ui-paginator ui-paginator-top ui-widget-header ui-corner-top" role="navigation"><span class="ui-paginator-prev ui-state-default ui-corner-all ui-state-disabled"><span class="ui-icon ui-icon-seek-prev">p</span></span><span class="ui-paginator-next ui-state-default ui-corner-all ui-state-disabled"><span class="ui-icon ui-icon-seek-next">p</span></span></div><div class="ui-widget-header ui-datatable-scrollable-header"><div class="ui-datatable-scrollable-header-box"><table role="grid"><thead id="blTableId_head"><tr role="row"><th id="blTableId:j_idt101" class="ui-state-default ui-resizable-column" role="columnheader" style="width:34px; #width:37px;"><span class="ui-column-title"><span style="word-wrap: break-word;white-space: normal;">Client </span></span></th><th id="blTableId:j_idt104" class="ui-state-default
2. 如果我点击浏览器刷新,它会重新加载页面,我可以继续操作。
请让我知道除了上述之外我还需要做什么来解决部分响应错误。我是否需要添加一个 servlet 过滤器来使会话无效?
我非常感谢您对此的任何帮助和反馈,因为它是高度优先的。
jsf - 显示部分响应而不是 html,刷新后显示 html
我已经实现了这个问题的答案:Session timeout and ViewExpiredException handling on JSF/PrimeFaces ajax request
当 AJAX 请求完成并且出现 ViewExpiredException 时,它会呈现我的会话过期页面,该页面有一个指向登录页面的链接。但是当您再次登录时,它会向我显示:
当我按 F5 时,会显示正常的 HTML 内容。为什么会发生这种情况,我该如何解决?
编辑:为了澄清,登录后它会将我带到发生 ViewExpiredException 的同一页面。
ajax - 如何摆脱使用 JSF 到浏览器的纯 XML
我正在通过使用 spring 框架将 JSF 2.0 与 primefaces5.0 一起使用,但我认为问题与 JSF 有关,我有许多不同的应用程序,但有时单击任何应用程序都会给我提供纯 html 以及“此 XML 文件不似乎有任何与之相关的样式信息。文档树如下所示。” 但是在刷新页面应用程序时正常打开而没有任何错误。
以下是控制台错误消息:
- 我正在使用 Spring 安全/登录。
jsf - 在 WildFly 中对安全约束进行 ajax 重定向后,XML 显示为纯文本
我在安全约束上遇到了 ajax 重定向这个奇怪的问题:
当我的会话超时后在角色安全页面上进行 ajax 调用(通过单击可排序p:dataTable
列或触发时)时,屏幕上会显示来自 OmniFaces 的 XML。p:poll
<partial-response><redirect-url=...
当我删除 OmniFaces 时,ajax 调用似乎静默失败,并且没有显示 XML。
安全性在 web.xml 中配置如下:
jsf - JSF 部分响应在每次重新加载时显示纯文本
什么可能导致此消息:
每次我重新加载页面时它都会出现。