ger*_*rry 1 javascript arrays jquery json laravel
我想将Laravel的数组分配给JavaScript数组。我已经从我的数组AppServiceProvider和json_decoded它像这样:
View::composer('*', function($view)
{
$users = Users::all();
$view->with(compact(users );
}
Run Code Online (Sandbox Code Playgroud)
然后,我从JavaScript文件访问$ usersArray,如下所示:
var dataSet = JSON.parse({!!$users !!});
Run Code Online (Sandbox Code Playgroud)
但是,出现以下错误;
jQuery.Deferred exception: Unexpected token o in JSON at position 1 SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)
Run Code Online (Sandbox Code Playgroud)
由于您是在服务器端进行编码,因此需要在客户端进行解码,例如:
$chequesArray = Users::all()->toJson();
var dataSet = JSON.parse({!!json_encode($chequesArray)!!});
Run Code Online (Sandbox Code Playgroud)
或者也可以使用“ base64_encode”保存json格式,例如:
$chequesArray = base64_encode(Users::all()->toJson());
var dataSet = JSON.parse(atob('{{$chequesArray}}');
Run Code Online (Sandbox Code Playgroud)
主要区别在于使用{{ }}vs {!! !!},第一个转义特殊字符,因此它将引号""转为,"然后JS将无法解析字符串(这就是为什么我们可以使用`base64_encode``来保存格式的原因),第二个将保留格式并允许使用引号使JS部分可以简单地解析它。
| 归档时间: |
|
| 查看次数: |
187 次 |
| 最近记录: |