我正在尝试使用Chrome扩展程序Postman测试一个简单的PHP页面.当我发送URL参数时,脚本工作正常(例如,变量在$_REQUEST参数中可用).当我将它们作为x-www-form-urlencoded参数发送时,该$_REQUEST参数仅包含PHPSESSID.
剧本:
<?php
var_export($_REQUEST);
?>
Run Code Online (Sandbox Code Playgroud)
当我发送URL参数时,$_REQUEST包括它们:

但是当我将它们作为POST变量发送时,$_REQUEST不包括它们:

我错过了什么?
Arv*_*ana 80
我在PostMan和Advance REST Client中遇到了同样的问题.我检查了fiddler,发现我的请求有效负载没有转换为JSON格式.
我将Body中的数据作为x-www-form-urlencoded传递

您可以通过在请求标头中使用Content-Type作为application/x-www-form-urlencoded来修复它.

and*_*ber 59
我在Postman中设置了url,http://但是Apache正在重定向到,https://并且不知何故POST变量正在被丢弃.
我将其更改为后https://,POST变量正常工作.
另请参见:https://stackoverflow.com/a/28461500/704803
mus*_*aft 12
检查标题中的内容类型.我在POSTMAN标题中发送原始JSON和我的内容类型作为application/json时遇到了问题.
我的php在请求帖子中看到了杰克.直到我将内容类型改为application/x-www-form-urlencoded并使用RAW textarea中的JSON并将其类型作为JSON,我的PHP应用程序才开始查看帖子数据.不是我在处理原始json时的预期,但它现在正在为我需要的东西工作.

当您发送参数时,x-www-form-urlencoded您需要使用Content-Typeas 设置请求的标头application/x-www-form-urlencoded