簡體   English   中英

$ _SERVER ['REQUEST_METHOD']以及同時POST和GET

[英]$_SERVER['REQUEST_METHOD'] and simultaneous POST and GET

當我同時使用POSTGET請求時, $_SERVER['REQUEST_METHOD']設置為POST。

為什么是這樣? 是因為無論如何所有請求都被視為GET

這是我針對此問題的要求。

a = $("#AdminAddForm").serialize();
jQuery.post('index.php?test=yes', a);

$ _POST和$ _GET都在此請求后填充,並且$ _SERVER ['REQUEST_METHOD']設置為POST。

HTTP協議具有第一行,稱為“請求行”。 帖子看起來像這樣:

POST http://website.com/route/whatever HTTP/1.1

... (post body)

請注意,請求行和帖子正文之間的強制空行。

現在,當您還有一個這樣的查詢字符串時:

POST http://website.com/route/whatever?q=hello HTTP/1.1

... (post body)

您正在混合這些東西:

  • 方法POST;
  • POST的正文(包含表格的內容);
  • 查詢字符串。

HTTP請求 POST,但在PHP中,查詢字符串中的內容仍將以$ _GET全局變量結尾。

您可以在HTTP POST中具有GET參數,因為HTTP協議允許將POST正文與查詢字符串混合。

當我同時使用POST和GET請求時

這是不可能的。

您可能正在發出一個在URL上具有查詢字符串的POST請求。

PHP將使用查詢字符串中的數據填充$_GET ,但這與request方法絕對無關。 它只是PHP奇怪的(錯誤的)命名約定之一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM