【问题标题】:How to post json body to php api in flutter?如何在颤振中将json正文发布到php api?
【发布时间】:2022-01-27 06:07:23
【问题描述】:

我尝试像这样将 JSON 正文发布到 php api

var response = await http.post(
   Uri.parse("https://..."),
   body: {
     "orders": [
       {"id": 253, "userId": 13, "quantity": 2, "productId": 1},
       {"id": 257, "userId": 13, "quantity": 1, "productId": 3}
     ]
   });

在 api 中我尝试像这样访问变量

$data=$_POST["orders"];
echo $data[0]["id"];

但它总是得到错误未定义的索引 谁能帮帮我?我是一个flutter新手。

【问题讨论】:

    标签: php flutter api


    【解决方案1】:

    如果您将原始数据传递给request,那么您必须在传递之前将encode 传递给json。试试下面的代码:

    var response = await http.post(
       Uri.parse("https://..."),
       body: jsonEnocde(
           {
             "orders": [
           {"id": 253, "userId": 13, "quantity": 2, "productId": 1},
           {"id": 257, "userId": 13, "quantity": 1, "productId": 3}
         ]
       }
    ));
    

    【讨论】:

      【解决方案2】:

      您能否在服务器端尝试下一个:

      <?php
      $request = json_decode(file_get_contents('php://input'), true);
      
      $data=$request["orders"];
      echo $data[0]["id"];
      

      【讨论】:

      • 感谢您的帮助@Slava Rozhnev
      猜你喜欢
      • 2020-03-15
      • 2020-07-23
      • 2020-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      • 2016-09-12
      • 2021-09-08
      相关资源
      最近更新 更多