正常提交JSON格式的数据,Thinkphp v6.0如何获取到具体的参数呢?折腾一番之后,才发现其中奥妙!

官方说的很简单:

对于body中提交的json对象,你无需使用php://input去获取,可以直接当做表单提交的数据使用,因为系统已经自动处理过了

但怎奈何本人愚笨,还是没能体会出到底如何获取json数据。

经本人一番折腾,发现获取确实简单。一句 $jsonData = $request->param(); 就解决问题了。

下面给个实际例子:

要传入的json数据为:(我们要取出其中的taskname

{
    "taskname": "hello",
    "content": [
        {
            "stuname": "耿先生",
            "stuid": "1xxxxxxxxx",
            "ispushed": "1"
        }
    ]
}

然后PHP这边写:(注意使用了依赖注入,详见这里的“操作方法注入”一节,所谓依赖注入,只不过是更方便的调用Request类罢了,如果使用其他方式使用Request类都是可以的!)

public function release(Request $request){
        $requestData = $request->param();//把json数据直接拿出来,变成数组
        return $requestData['taskname'];//直接就拿出来taskname这个里头的东西了!
    }

标签: none

添加新评论