php怎么判断ajax请求,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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值