【问题标题】:f:ajax (myfaces 2.0) How to get XMLHttpRequest.getResponseHeader in callback (onevent)?f:ajax (myfaces 2.0) 如何在回调 (onevent) 中获取 XMLHttpRequest.getResponseHeader?
【发布时间】:2013-12-02 09:35:02
【问题描述】:

official documentation 表示在 jsf ajax 客户端回调中没有指向 XMLHttpRequest 的链接(例如,jQuery has)。在这种情况下如何访问XMLHttpRequest 或只是XMLHttpRequest.getResponseHeader?

【问题讨论】:

  • 您需要从响应头中获取哪些信息?如您的评论中所示,“很多”表明您滥用它来做他们不打算做的事情。

标签: ajax jsf jsf-2


【解决方案1】:

不确定这是否正是您想要的,但

如果你有以下代码:

<h:form>
    <h:commandButton value="click me" id="myBtn">
        <f:ajax onevent="myFunc"/>
     </h:commandButton>
</h:form>

这是你可以提取的:(调试它并找到更多)

function myFunc(data) {
    if (data.status === "success") {
        console.log(data.responseCode);
        console.log(data.responseText);
        console.log(data.responseXML);
        console.log(data.source);
    }
}

【讨论】:

  • 嗨丹尼尔!这就是重点:data 包含XMLHttpRequest 的一些字段,但不包含孔对象,所以不可能做到data.getResponseHeader(some_name)...所以我们想要重用的 jQuery 代码不兼容...
  • 为什么你需要ResponseHeader in f:ajax ?
  • 因为它用于现有的javascript代码(回调)中,我们希望重用。 ResponseHeader 包含很多重要信息,让我们的应用程序运行良好...所以这是 jQuery 和 JSF (myfaces) 中不同的 ajax API 的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-06
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 2012-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多