larval 模板blade报错信息:

ErrorException in helpers.php line 531:

htmlentities() expects parameter 1 to be string, array given 

(View: /test/resources/views/edits.blade.php)

模板标签写法:
 {{$imgArr}}

其实很明显的错误,htmlentities()第一个参数是字符串,给的是数组。模版{{}}不接受直接赋值的数组数据,需要是个字符串。当时是在js里接收的,同理不会直接接受数组。至于模板为什么会调用这函数,这里不做赘述。


js代码:


$scope.express_order = {{$imgArr}};

模板报错。


尝试着PHP打印结果:

var_dump($imgArr);


结果为:

array(2) { [0]=> string(28) "2017-09-28/59cc723693ae5.png" [1]=> string(28) "2017-09-28/59cc723b182ba.png" }


可以在模板html中使用调试一下:

@foreach($imgArr as $value)

 {{ dump($value) }}

@endforeach


结果如图:


对数据进行处理:

js 循环处理:

$scope.express_order=[];

@foreach($imgArr as $value)
    $scope.express_order.push("{{$value}}");
@endforeach
         

console.log($scope.express_order);


打印结果:

 ["2017-09-28/59cc723693ae5.png", "2017-09-28/59cc723b182ba.png"]


 至此问题解决。


那如果是向laravel blade模板传递多维数组,那就循环嵌套对数据进行处理。


本文链接二维码可以保存在本地:保存

| 浏览 (3589) | (0) | (0) | | 2017-09-28 17:32:47 |


相关文章

  1. Mac安装Swoole扩展phpize 时 Cannot find autoconf 解决方法
  2. mac下安装swoole扩展报错PHP Startup Unable to load dynamic library
  3. Laravel 数据库事务
  4. PHP贷款等额本息、等额本金计算月供还款计划公式
  5. Laravel 关闭过滤排除部分路由VerifyCsrfToken 验证
  6. Laravel Horizon监控Redis队列queue