如何将数组数据从 laravel 放入 jquery 数组?

How to put array data from laravel to jquery array?

我有一个由 $user->roles 生成的集合,其中 role table 有 role_namepermission 列。

我想要的是获得一组权限并在 jquery 中使用它,这样我就可以在需要数组的 select2 组件中使用它。

<script>
    $( document ).ready(function() {
        $("#role_select").select2();
          $('#role_select').val( {{ $user->roles->pluck('permission') }} ).trigger('change');
    });
</script>

以上代码不起作用,在控制台中显示

[&quot;Super&quot;,&quot;Moderate&quot;]

那么如何通过删除 &quot; 来获得一组权限?

您不希望您的数据被转义:

{!! $user->roles->pluck('permission') !!}

显示未转义的数据容易受到 XSS attack 的攻击,我建议您将数组放在 html 属性中,如下所示:

<div style="display:none;" id="permissions" data-permissions="{{ json_encode($user->roles->pluck('permission')) }}"></div>

然后可以使用.data()方法获取权限数组:

var permissions = $('#permissions').data('permissions');