php 原生怎么判断是不是ajax提交
时间 : 2023-02-14 13:43:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
PHP 的原生函数库提供了一种判断是不是通过AJAX提交过来的数据的方法,这种机制叫做“HTTP_X_REQUESTED_WITH”。该机制可以使用PHP脚本和AJAX技术实现界面自动化。
来自客户端的AJAX访问,都会在请求头中加上一个字段:X-Requested-With。 * 如果用的是JQuery的AJAX,这个值会是“ XMLHttpRequest” * 如果是其他类库,也可能不一样,比如Prototype,则这个值是“ prototype ”,
我们可以用 PHP 的超全局变量 $_SERVER['HTTP_X_REQUESTED_WITH']来识别AJAX访问:
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { // 服务器端响应内容 }
如果这个值不为空且与”xmlhttprequest”(jQuery标识块)一样,说明是AJAX访问, 我们就可以实现AJAX的自动处理, 进行相关的Server端的逻辑处理。
PHP原生编程中,常常碰到通过Ajax提交数据,并希望对数据进行判断,是用户提交的还是Ajax提交的。这时就需要判断出这次请求是不是Ajax提交,PHP原生如何判断是不是Ajax提交呢?
Ajax是通过 JavaScript 脚本使用 XMLHttpRequest 对象来异步发起请求,服务器用一个头信息HTTP_X_REQUESTED_WITH进行标识:
1、 在 JavaScript 代码中使用 XMLHttpRequest 对象进行异步请求时,会在请求头中设置一个变量:X-Requested-With, 其值为 XMLHttpRequest
2、PHP 获取客户端提交的请求头,通过 getallheaders() 获取客户端请求头后, 用 PHP函数判断是否存在某个请求头的Key和Value
3、可以使用PHP 中的isset()函数和$_SERVER['HTTP_X_REQUESTED_WITH']变量来判断是否Ajax提交
以上三种方式可以判断请求是否通过Ajax提交,可以更加方便的处理Ajax提交的数据,充分利用Ajax这种异步技术。
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章