如何区分正常的HTTP请求Ajax请求? [英] How to differentiate Ajax requests from normal Http requests?
问题描述
我用我的应用程序JSF框架。我需要运行一个特定的脚本,渲染响应阶段。在我的阶段监听器类了。
I am using JSF framework in my application. I need to run a specific script before the render response phase in my Phase Listener class.
条件运行此脚本是,如果该请求触发一个Ajax请求我需要运行脚本,如果请求触发的是HTTP请求我不要运行该脚本。
Condition for running this script is that, if the request triggered is a Ajax request i need to run the script, if the request triggered is a Http request i should not run that script.
任何人都可以请帮我区分:收到的请求。?
Can anyone please help me to differentiate the requests recieved.?
推荐答案
Ajax请求通常有一个 X-要求,通过:XMLHtt prequest
请求头。在JSF中,你可以得到由<一个请求头href="http://download.oracle.com/javaee/6/api/javax/faces/context/ExternalContext.html#getRequestHeaderMap%28%29"><$c$c>ExternalContext#getRequestHeaderMap()$c$c>.
Ajax requests have usually a X-Requested-With: XMLHttpRequest
request header. In JSF, you can obtain the request headers by ExternalContext#getRequestHeaderMap()
.
ExternalContext externalContext = facesContext.getExternalContext();
Map<String, String> headers = externalContext.getRequestHeaderMap();
boolean ajax = "XMLHttpRequest".equals(headers.get("X-Requested-With"));
这篇关于如何区分正常的HTTP请求Ajax请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!