`
OrangeHolic
  • 浏览: 259631 次
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • PHP
 
阅读更多
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的源码中

然后

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请求,然后... } 




  • 大小: 8 KB
  • 大小: 8.7 KB
  • 大小: 3.3 KB
  • 大小: 3.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics