ThinkPHP5 报错variable type error: array (PHP报错)

ThinkPHP5 报错variable type error: array (PHP报错)

这个问题可能是因为两种情况造成的,请根据不同情况排除不同方法

原因:

  1. ThinkPHP5中,post提交数据不能提交数组数据,因为ThinkPHP5不能用post去接收数组{‘data’:[1,2,3,4,5]}这种数据,在ThinkPHP5通过Requestpost方法取获取时,post方法不能分辨它是否是数组。
  2. 前端需要返回的数据,并不是array

解决方式:

原因一:上传的数据里面有数组数据
方法一:将数据JSON序列化后,后端再反序列化
方法二:用 Request::instance()->post('参数/a'); 获取数据(/a就相当于告诉解析器我要获取一个数组)。

原因二:返回的数据不能是 array
方法一:将返回的数据通过 json_encode() 序列化以后,再返回。 (推荐)
方法二:修改thinkphpconfig.php文件,将 default_return_type 修改为 json(不推荐,因为会影响其他的接口)

                       

点击阅读全文

上一篇 2023年 5月 27日 am11:19
下一篇 2023年 5月 27日 am11:20