我遇到一个问题,我在OmniFaces的JSF库中使用了ViewState修复:fixviewstate.js。问题是我们在我们的应用程序中遇到了奇怪的IE行为,在第二次AJAX请求到同一页面后,data.responseXML = {}。奇怪的是,responseText已正确设置。在那种情况下,viewState值=' - '。然后将此值提交给服务器,JSF抛出IndexOutOfBoundsException。
这仅在IE中发生,但在启用开发人员工具时则不会发生。我认为这可能与IE AJAX缓存问题有关,但是:
你能帮忙吗?
答案 0 :(得分:4)
我终于开始工作了。虽然响应看起来像这样:
array.each do
|a|
a[2] =
case a[2]
when "Successful" then "green"
when "Failed" then "red"
end
end
IE上的update.firstChild.nodeValue只返回部分文本 - 有时只返回“ - ”,有时只返回“-1644237968690251221”。这完全取决于浏览器如何将文本切片为文本节点。根据规范,它可以以任何方式做到这一点。 所以我们只需要调用update.textContent。