我使用PrimeFaces4.0中的轮询组件每10分钟向服务器发出请求。大多数情况下,一切都很正常,但有时我不知道为什么,服务器会返回一个空响应,其中包含200段代码(OK)。这是一个100%的空响应。一个0字节长的响应。因此,PrimeFaces.ajax.AjaxResponse
方法获得一个null
值作为参数,当它试图访问该对象的documentElement
属性时,我得到一个错误"Uncaught TypeError: and read property documentElement of null“,一切都停止工作。
我不知道为什么我会得到空的响应,可能是网络中的问题,或者是运行应用程序的集群的问题,或者是代理;但是sysadmin并不关心它,所以我需要找到一个软件解决方案。
有什么我能做的不涉及编辑Primefaces自己的文件?
非常感谢你能帮我的忙!
发布于 2015-02-03 13:39:14
如果有人想知道,我结束了覆盖PrimeFaces.ajax.AjaxResponse
,检查响应是否为空,如果一切正常则调用原始方法。
OriginalAjaxResponse = PrimeFaces.ajax.AjaxResponse;
PrimeFaces.ajax.AjaxResponse = function (responseXML) {
if (responseXML != null)
OriginalAjaxResponse(responseXML);
}
它不漂亮,但很管用
发布于 2016-02-02 14:39:56
昨天我也遇到了同样的问题,我发现这个博客告诉我们把h:outputStylesheet和h:outputScript移到身体末端。
<h:outputStylesheet library="css" name="main.css" />
<h:outputScript library="js" name="primefaces.locales.js"/>
http://maxyermayank.blogspot.com.tr/2013/10/jsf-ajax-response-returning-empty.html?showComment=1454339705279
https://stackoverflow.com/questions/28210220
复制相似问题