小编典典

如何区分Ajax请求和普通的Http请求?

ajax

我在我的应用程序中使用JSF框架。我需要在“阶段侦听器”类中的渲染响应阶段之前运行特定的脚本。

运行此脚本的条件是,如果触发的请求是Ajax请求,则需要运行该脚本;如果触发的请求是Http请求,则不应运行该脚本。

谁能帮我区分收到的请求吗?


阅读 593

收藏
2020-07-26

共1个答案

小编典典

Ajax请求通常具有一个X-Requested-With: XMLHttpRequest请求标头。在JSF中,您可以通过获得请求标头ExternalContext#getRequestHeaderMap()

ExternalContext externalContext = facesContext.getExternalContext();
Map<String, String> headers = externalContext.getRequestHeaderMap();
boolean ajax = "XMLHttpRequest".equals(headers.get("X-Requested-With"));
2020-07-26