判断是POST/GET请求+判断是AJAX请求

1.判断是POST/GET请求
这个大家都知道了,就是$_SERVER['REQUEST_METHOD']
返回用户的请求方式; i.e. 'GET', 'HEAD', 'POST', 'PUT'.
eg:

2.判断是AJAX请求
框架中频繁用到:$_SERVER['HTTP_X_REQUESTED_WITH']来判断是否Ajax提交.  其实$_SERVER数组中无HTTP_X_REQUESTED_WITH变量,其实是利用XmlHttpRequest的setRequestHeader方法设置的。

在Jquery的源码中

然后
判断是POST/GET请求+判断是AJAX请求_第1张图片
setRequestHeader("XX","YY");服务器端就可通过isset($_SERVER['HTTP_XX'])这个变量是否存在来判断是否来着Ajax请求,其中XX、YY都是任意字符,但服务器端必须加HTTP_前置取值。
还有setRequestHeader里边的字符串不限制大小写,但$_SERVER['HTTP_XX'])中的XX必须大写才可。

如果你用了jquery框架,恭喜你,对于通过它的$.ajax, $.get, or $.post方法请求网页内容时,jquery框架会向服务器传递一个HTTP_X_REQUESTED_WITH的参数,我们不必自己setRequestHeader,你可以利用如下方法判断某个请 求是ajax请求还是普通请求:
if(isset($_SERVER['HTTP_X_REQUESTED_WITH'])&&strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') 
{ ..这是一个ajax请求,然后... } 
else 
{ ..这不是一个ajax请求,然后... } 




你可能感兴趣的:(ajax请求)