gpt4 book ai didi

javascript - 将 Laravel 集合/数组转换为 Javascript 数组

转载 作者:行者123 更新时间:2023-11-30 09:15:40 24 4
gpt4 key购买 nike

我想将一个数组从 Laravel 分配给一个 JavaScript 数组。我已经从我的 AppServiceProvider 获取了数组,并对其进行了 json_decoded:

View::composer('*', function($view)
{
$users = Users::all();
$view->with(compact(users );
}

然后我从我的 javascript 文件访问我的 $usersArray,如:

  var dataSet = JSON.parse({!!$users !!});

但是我收到以下错误;

jQuery.Deferred exception: Unexpected token o in JSON at position 1 SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)

最佳答案

由于您在服务器端对其进行编码,因此您需要在客户端对其进行解码,例如:

$chequesArray = Users::all()->toJson();

var dataSet = JSON.parse({!!json_encode($chequesArray)!!});

或者也可以使用“base64_encode”来保存 json 格式,例如:

$chequesArray = base64_encode(Users::all()->toJson());

var dataSet = JSON.parse(atob('{{$chequesArray}}');

主要区别在于 {{ }}{!! !!},第一个转义特殊字符,所以它会将引号 "" 转换为 " 然后 JS 将无法解析字符串(这就是为什么我们可以使用 `base64_encode`` 来保存格式),第二个将保存格式并允许引用,这使 JS 部分能够简单地解析它。

关于javascript - 将 Laravel 集合/数组转换为 Javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55257436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com