如何在Slim中访问POST请求的JSON请求正文?

用户名

我只是Slim框架中的新手。我已经使用Slim框架编写了一个API。

来自iPhone应用程序的API发出了POST请求。此POST请求为JSON格式。

但是我无法访问iPhone请求中发送的POST参数。当我尝试打印POST参数的值时,每个参数都为“ null”。

$allPostVars = $application->request->post(); //Always I get null

然后,我尝试获取即将到来的请求的正文,将正文转换为JSON格式,然后将其发送回给iPhone。然后我得到了参数的值,但是它们的格式很奇怪,如下所示:

"{\"password\":\"admin123\",\"login\":\"[email protected]\",\"device_type\":\"iphone\",\"device_token\":\"785903860i5y1243i5\"}"

因此,可以肯定的是,POST请求参数即将到达此API文件。尽管它们在中不可访问$application->request->post(),但它们已进入请求正文。

我的第一个问题是如何从请求正文访问这些POST参数,第二个问题是为什么在将请求正文转换为JSON格式后,请求数据为何显示为上述奇怪的格式?

以下是必要的代码段:

<?php

    require 'Slim/Slim.php';    

    \Slim\Slim::registerAutoloader();

    //Instantiate Slim class in order to get a reference for the object.
    $application = new \Slim\Slim();

    $body = $application->request->getBody();
    header("Content-Type: application/json");//setting header before sending the JSON response back to the iPhone
    echo json_encode($new_body);// Converting the request body into JSON format and sending it as a response back to the iPhone. After execution of this step I'm getting the above weird format data as a response on iPhone.
    die;
?>
Guillermoandrae

通常,您可以通过以下POST两种方式之一分别访问参数:

$paramValue = $application->request->params('paramName');

或者

$paramValue = $application->request->post('paramName');

文档中提供了更多信息:http : //docs.slimframework.com/#Request-Variables

当在中发送JSON时POST,您必须从请求正文中访问信息,例如:

$app->post('/some/path', function () use ($app) {
    $json = $app->request->getBody();
    $data = json_decode($json, true); // parse the JSON into an assoc. array
    // do other tasks
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Qt中使用JSON正文发送POST请求

来自分类Dev

如何在 ruby CGI 脚本中访问原始请求正文?

来自分类Dev

使用 Slim 框架从 axios POST 请求中获取正文

来自分类Dev

如何从POST请求中读取正文

来自分类Dev

如何在芬奇中绑定请求正文

来自分类Dev

如何在 Elasticsearch 中减少请求正文

来自分类Dev

如何在Flutter中访问从HTTP POST请求获得的JSON响应?

来自分类Dev

如何在Rails中访问Post方法请求的数据

来自分类Dev

在Node.js中模拟POST请求后如何访问响应正文?

来自分类Dev

如何在Handler中正确读取POST请求正文?

来自分类Dev

如何在Python的POST请求中将查询作为正文发送

来自分类Dev

如何在POST请求中发送两个正文?

来自分类Dev

Java-如何在Rest Post方法中传递XML请求正文

来自分类Dev

如何在Pre-request脚本中验证POST请求正文所需的参数?

来自分类Dev

如何在 Beanshell 预处理器中获取 HTTP POST 请求正文?

来自分类Dev

Runscope –如何通过POST请求发送JSON正文?

来自分类Dev

Runscope –如何通过POST请求发送JSON正文?

来自分类Dev

在POST请求中从正文检索JSON-Java

来自分类Dev

带有标题和 JSON 正文的 Volley 中的 POST 请求

来自分类Dev

在Apigility中,如何访问DELETE请求的正文内容

来自分类Dev

如何在plsql中以json格式发送POST请求

来自分类Dev

如何在REST中创建POST请求以接受JSON输入?

来自分类Dev

如何在Postman Collection中指定JSON请求正文示例

来自分类Dev

如何在Play中的每个请求中记录正文?

来自分类Dev

带有JSON正文的Ruby POST请求

来自分类Dev

Swift Post 请求 - JSON 正文为空

来自分类Dev

您如何在rAML中引用示例请求正文?

来自分类Dev

如何在Express中读取请求正文动态属性?

来自分类Dev

如何在Laravel中获取HTTP请求正文内容?

Related 相关文章

  1. 1

    如何在Qt中使用JSON正文发送POST请求

  2. 2

    如何在 ruby CGI 脚本中访问原始请求正文?

  3. 3

    使用 Slim 框架从 axios POST 请求中获取正文

  4. 4

    如何从POST请求中读取正文

  5. 5

    如何在芬奇中绑定请求正文

  6. 6

    如何在 Elasticsearch 中减少请求正文

  7. 7

    如何在Flutter中访问从HTTP POST请求获得的JSON响应?

  8. 8

    如何在Rails中访问Post方法请求的数据

  9. 9

    在Node.js中模拟POST请求后如何访问响应正文?

  10. 10

    如何在Handler中正确读取POST请求正文?

  11. 11

    如何在Python的POST请求中将查询作为正文发送

  12. 12

    如何在POST请求中发送两个正文?

  13. 13

    Java-如何在Rest Post方法中传递XML请求正文

  14. 14

    如何在Pre-request脚本中验证POST请求正文所需的参数?

  15. 15

    如何在 Beanshell 预处理器中获取 HTTP POST 请求正文?

  16. 16

    Runscope –如何通过POST请求发送JSON正文?

  17. 17

    Runscope –如何通过POST请求发送JSON正文?

  18. 18

    在POST请求中从正文检索JSON-Java

  19. 19

    带有标题和 JSON 正文的 Volley 中的 POST 请求

  20. 20

    在Apigility中,如何访问DELETE请求的正文内容

  21. 21

    如何在plsql中以json格式发送POST请求

  22. 22

    如何在REST中创建POST请求以接受JSON输入?

  23. 23

    如何在Postman Collection中指定JSON请求正文示例

  24. 24

    如何在Play中的每个请求中记录正文?

  25. 25

    带有JSON正文的Ruby POST请求

  26. 26

    Swift Post 请求 - JSON 正文为空

  27. 27

    您如何在rAML中引用示例请求正文?

  28. 28

    如何在Express中读取请求正文动态属性?

  29. 29

    如何在Laravel中获取HTTP请求正文内容?

热门标签

归档