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

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

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

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

回答:

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"));

以上是 如何区分Ajax请求和普通的Http请求? 的全部内容, 来源链接: utcz.com/qa/419762.html

回到顶部