在javascript中获取laravel响应

时间:2017-04-06 07:38:29

标签: javascript php laravel-5

在我的控制器中:

public function index(){
     $data = array(1,2,3,4,5);
     return view('index')->with(['data' => $data,]);
}

如何在index.blade.php中的javascript中访问$data

在我的javascript函数中,我尝试了JSON.parse(data)。还尝试了this.responseData.data"this.responseData.data

所有人都给了我错误Uncaught TypeError: Cannot read property 'sales' of undefined

2 个答案:

答案 0 :(得分:0)

使用数据返回laravel中的视图(刀片视图)时,可以使用以下方式访问它:

<强>控制器:

public function index(){
     $data = array(1,2,3,4,5);
     return view('index')->with(['data' => $data,]);
}

查看:

<body>
@foreach($data as $d)
{{$d}}<br/>
@endforeach
</body>

这将在您的浏览器中为您输出如下:

1
2
3
4
5

如果为JavaScript分配值,则视图应为:

<script>
    var data = [];
    @foreach($data as $d)
    data.push({{$d}})
    @endforeach
<script>

现在变量数据是一个可以在JS中轻松访问的数组。

答案 1 :(得分:0)

首先,我认为值得澄清一下。 PHP是服务器端语言,而javascript是客户端语言。考虑到这一点,您无法直接从javascript直接访问PHP变量。

您可以通过两种方式访问​​数据:

  1. 在PHP中写下这样的内容:<script> var data = $data </script>。然后,您可以在javascript中访问JS data变量。
  2. 使用XMLHttpRequest(AKA AJAX)获取data。在这种情况下,您需要从PHP
  3. 重新编写JSON