文章分类 Classification
PHP判断一个请求是AJAX请求还是普通请求
稿件来源: 阳光企业网站管理系统 撰稿作者: 太阳光 发表日期: 2013-11-28 阅读次数: 166 查看权限: 游客查看
在PHP程序中,如何判断一个网页请求是ajax请求还是普通请求?
在发送ajax请求的时候,我们可以通过XMLHttpRequest这个对象,创建自定义的header头信息,如果您使用的是原生的ajax方法,那么代码如下:
xmlHttpRequest.setRequestHeader("request_type","ajax");
通过jquery的$.ajax()方法,也可以轻松地在发送ajax请求之前,创建我们自定义的header头信息。
$.ajax({ type: "GET", url : 'ajax.php', beforeSend : function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("request_type","ajax"); }, success : function(data){} });
然后PHP中就可以判断是不是ajax请求了:
if (isset($_SERVER['HTTP_REQUEST_TYPE']) && $_SERVER['HTTP_REQUEST_TYPE'] == "ajax"){ //ajax提交 }else{ //非ajax提交 }
还有$_SERVER['HTTP_ACCEPT']可以判断请求类型。
jsonp的请求一般是:text/javascript, application/javascript, */*
json的请求:application/json, text/javascript, */*
一个简单的判断跨域条件下的ajax请求:
switch ($_SERVER['HTTP_ACCEPT']){ case 'application/json, text/javascript, */*': // JSON 格式 break; case 'text/javascript, application/javascript, */*': // javascript 或 JSONP 格式 break; case 'text/html, */*': // HTML 格式 break; case 'application/xml, text/xml, */*': // XML 格式 break; }
关键词: ajax,php 编辑时间: 2013-11-28 9:29:29
0
高兴0
支持0
搞笑0
不解0
谎言0
枪稿0
震惊0
无奈0
无聊0
反对0
愤怒
0%(0)
0%(0)
- 暂无评论
文章图片 article Pictrue
网友评论