我在试用Phalcon的微框架。本页教程只提到以下访问请求数据的方法:
$app->request->getJsonRawBody();
我真的只想访问标准POST参数,但是由于我在教程中没有看到这一点,所以我尝试在请求体中传递一些JSON。作为我的结果,我得到了一个500错误,这在我的日志中:
PHP Fatal error: Call to a member function getJsonRawBody() on a non-object in /Users/tom/Dropbox/Code/microphalcon/index.php on line 8
PHP Stack trace:
PHP 1. {main}() /Users/tom/Dropbox/Code/microphalcon/index.php:0
PHP 2. Phalcon\Mvc\Micro->handle() /Users/tom/Dropbox/Code/microphalcon/index.php:44
PHP 3. {closure:/Users/tom/Dropbox/Code/microphalcon/index.php:6-11}() /Users/tom/Dropbox/Code/microphalcon/index.php:44
谷歌并没有帮上忙。
我要做的就是访问POST参数。我怎么能这么做?
发布于 2014-05-29 18:28:49
您的$app
不属于正确使用闭包的object...are吗?
//Adds a new robot
$app->post('/api/robots', function() use ($app) {
$robot = $app->request->getJsonRawBody();
// ...
注意use
声明!
发布于 2016-11-25 13:55:06
我知道这个问题很老,但我自己正在寻找解决办法。我在这里发布它是为了帮助未来的用户。
最初的询问者想知道如何访问POST数据,正确的方法是在应用程序的请求对象上调用getPost,没有参数。
$myPostArray = $app->request->getPost();
这将返回PHP POST数组的内容。
发布于 2014-05-29 16:07:12
这是一个通用的答案,但是试试这个。
$payload = file_get_contents('php://input');
$data = json_decode($payload);
https://stackoverflow.com/questions/23937737
复制相似问题