PHP 判断请求是POST还是GET

2025-02-24 20:07:48
推荐回答(2个)
回答1:

$_SERVER['REQUEST_METHOD']该变量中存储的是表单提交的方式。默认为get可用isset($_POST["表单名或字段名"]) 或者$_SERVER['REQUEST_METHOD']=="POST"判断 试过以下是无效的:用$_REQUEST_METHOD 来判断 ,如:

回答2:

针对跨域情况的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;  

顾名思义。

GET,POST分别对应着获取和提交两个方面。

在实际使用中,GET是用来取数据的,像跳转到什么页面。做一些逻辑判断。
POST大多是表单提交。很不推荐使用表单得时候使用get,除非像我上面说得,你得行为是为了获取数据。GET从逻辑上会更好理解一点。

而PHP很简单,把GET和POST统一化了,简便放入一个变量中。再不必去理解整个请求的逻辑。所以在php中,会很少去考虑是用post还是get。个人觉得还是上述得理由来区分post和get的应用范围比较好。