如何区分正常的HTTP请求Ajax请求? [英] How to differentiate Ajax requests from normal Http requests?

查看:156
本文介绍了如何区分正常的HTTP请求Ajax请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用我的应用程序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().

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆