我想调试发送给Eclipse PDT中的一些AJAX PHP的HTTP POST数据,它对我来说是新的,所以我可能会犯一些非常基本的错误。来自Chrome Postman插件的POST数据在Eclipse PDT中为空
我发现了什么,似乎是一个很好的Chrome浏览器插件:PostMan
我有这样定义了我的请求:
这是试图模仿我AngulrJs代码(工作)
var postData = { userName: $scope.registrationData.userName,
email: $scope.registrationData.email,
password: forge_sha256($scope.registrationData.password)
};
var url = HOST + 'api/register.php';
$http.post(url, postData)
如果我只是从浏览器页面使用AngularJs,它的工作原理和PHP返回我所预测的去它。
但是,当我用邮差,然后在我的PHP代码
$postData = file_get_contents("php://input");
$request = json_decode($postData, true);
我发现$_POST
是空的。
我在做什么错误(或者有更简单的方法来调试使用Eclipse PDT的HTTP Post)?
[更新]感谢@Rubelet指出POST数据应放在正文中,而不是标题。
如果我编码它作为形式数据
所接收的POST数据仍然是空的。我猜测我应该使用“原始”,但我如何编码?作为JSON?
非常感谢。我相信你是对的。我一直在编码14个小时,我的脑袋正在旋转!请参阅此问题的更新&让我们知道您的出租车帮助是否正确 – Mawg
@Mawg请尝试x-www-form-urlencoded 您要检查的是您的客户是否按预期行事。如果你在浏览器中运行你的角度客户端(我希望如此),那么你可以使用类似Chrome开发工具的东西来检查你的代码是否发送了正确的请求。在网络标签 – Monokh
检查这是的!先生,你是天才(现在我要去睡觉了:-)再次感谢 – Mawg