PHP判断一个请求是AJAX请求还是普通请求
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP判断一个请求是AJAX请求还是普通请求,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1488字,纯文字阅读大概需要3分钟。
内容图文
首先说说原理:
在发送ajax请求的时候,我们可以通过XMLHttpRequest这个对象,创建自定义的header头信息
如果您使用的是原生的ajax方法,也就是未使用jquery或者其他js框架包装的ajax方法,那么代码如下:
1
|
xmlHttpRequest.setRequestHeader(
"request_type"
,
"ajax"
);
|
哦~对了,您一定知道xmlHttpRequest这个对象是怎么创建的吧?额?您没开玩笑吧?您不知道–那我劝您还是不要了解了,放心吧~您对他不了解也没事,下面我来告诉你怎么在jquery中使用,那是更加的简单啊~~
通过jquery的$.ajax()方法,可以轻松地在发送ajax请求之前,创建我们自定义的header头信息。
1
2
3
4
5
6
7
8
9
10
11
12
|
$.ajax({
type :
"GET"
,
url : base_url +
‘php_check_ajax_request/get_user_list.html‘
,
beforeSend :
function
(XMLHttpRequest) {
XMLHttpRequest.setRequestHeader(
"request_type"
,
"ajax"
);
},
success :
function
(data){
$(
"#user_list"
).html(data);
$tip.hide();
$button.attr(
‘disabled‘
,
true
);
}
});
|
上面的代码,是我的demo中用到的代码,有好几行吧,您别怕,要您注意的就是一个地址,找到了beforeSend了吧?对了,就是那里了,XMLHttpRequest.setRequestHeader(“request_type”,”ajax”);这一句代码就是向header头信息里面创建了一个我们自定义的一个变量“request_type”。
恩~~说到这里,大家应该已经会在发送ajax请求前往header头信息中加入自定的信息了吧。
接下来我来告诉大家如果在php中取得这个信息,也是相当简单呀
如我之前定义的那个变量“request_type”,那么在php中就应该这样取得
1
|
$_SERVER
[
‘HTTP_REQUEST_TYPE‘
]
|
看了上面的代码之后,我想如此睿智的您一定已经发现规律了吧,对了,没错,就是将“request_type”这个变量全部大写(一定要大写),然后再加上一个“HTTP_”前缀,然后再$_SERVER这个超级变量中找就可以了。
1
2
3
|
if
(isset(
$_SERVER
[
‘HTTP_REQUEST_TYPE‘
]) &&
$_SERVER
[
‘HTTP_REQUEST_TYPE‘
] ==
"ajax"
){
//ajax提交
}
else
{
//非ajax提交
}
|
上面的代码就是在php程序中判断请求到底是不是ajax请求了。
“request_type”这个变量是我们自定义的哦,如果您喜欢的话,您也可以将她换成你所喜欢的名字,比如“test”,“is_ajax”…….
基于以上的说明~~大家是否明白了呢?
呵呵~~不明白的也没关系~~因为您可以稍微动动您的手指,留下您的疑问吧~
转载自梦三秋
原文:http://www.cnblogs.com/you-jia/p/4201485.html
内容总结
以上是互联网集市为您收集整理的PHP判断一个请求是AJAX请求还是普通请求全部内容,希望文章能够帮你解决PHP判断一个请求是AJAX请求还是普通请求所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。