PHP 判断请求是POST还是GET? PHP 判断请求是POST还是GET

作者&投稿:亥泡 (若有异议请与网页底部的电邮联系)

针对跨域情况的getjson 或者ajax(jsonp)可以使用ACCEPT请求头部格式来判断

PHP端对应$_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;  



PHP 全局变量 - 超全局变量 - 【$_SERVER】

判断请求是GET:

$_SERVER['REQUEST_METHOD'] == 'GET' ? true : false

判断请求是POST:

$_SERVER['REQUEST_METHOD'] == 'POST' ? true : false

另外判断请求是AJAX:

((isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')])) ? true : false



php判断当前请求是post还是get~

具体的判断方法如下:
如果是在不知道前台用什么提交的话,在后台只要判断一下哪个数组不为空就行了:
$method = !empty($_GET) ? 'GET' : 'POST';
echo($method);
ps:上面只是用来判断用什么方式提交的,顺便还可以映射一下,使用的话就更方便了
if(!empty($_POST)){extract($_POST);}else{extract($_GET);}

附带post、get的区别:
1、$_GET变量接受所有以get方式发送的请求,及浏览器地址栏中的?之后的内容
2、$_POST变量接受所有以post方式发送的请求,例如,一个form以method=post提交,提交后php会处理post过来的全部变量

$_SERVER['REQUEST_METHOD']该变量中存储的是表单提交的方式。默认为get可用isset($_POST["表单名或字段名"]) 或者$_SERVER['REQUEST_METHOD']=="POST"判断 试过以下是无效的:用$_REQUEST_METHOD 来判断 ,如:<?phpif($_REQUEST_METHOD == “POST”){echo “post:”.$_POST['firstName'].”-”.$_POST["birthday"];
我也是后盾人哪里学会的,楼主可以去学习一下