2015-04-17 37 views
3

的目的是我想從控制器到視圖在一個單一的全局JavaScript變量過時ALL傳遞的數據,這是一個例子:Laravel 5:獲取視圖模板全部通過數據

在控制器

index(){ 
return veiw('path.to.view', ['data1' => $data1, 'data2' => $data2]); 
} 

在視圖

<script> 
    var _backendData = {!! $allData !!} 
    //$allData should contain ALL the passed data from the controller 
</script> 

我來存儲從控制器收到的所有數據,$ ALLDATA

+0

變種_backendData = {!! $ DATA1!} –

+0

我想所有傳遞給視圖控制器,不僅$數據1,我編輯我的職務,並添加$ DATA 2 ... – Sn0opr

回答

1

要訪問所有的數據,你把它作爲根陣列中的一個項目。因爲這些鍵成爲視圖變量。

return view('path.to.view', [ 
    'allData' => ['data1' => $data1, 'data2' => $data2] 
]); 

查看:

<script> 
    var _backendData = {!! $allData !!} 
</script> 

但是這不會正常工作。您應該使用JSON將數據傳遞給JavaScript:

var _backendData = JSON.parse("{!! json_encode($allData) !!}"); 
+0

謝謝大家幫忙數據,我想過讓所有數據在一個變量中,但我正在尋找一種更「舒適」的方式 – Sn0opr

0

將其設置在控制器上 -

return veiw('path.to.view', ['allData' => ['data1' => $data1, 'data2' => $data2]]); 
0

當你返回數據的數組,那麼你可以通過一個訪問元素一個如下圖所示。您不能只將PHP數組分配爲JavaScript數組。

return view('path.to.view', [ 
    'allData' => ['data1' => $data1, 'data2' => $data2] 
]); 

檢視:

<script> 
    var _backendData = {!! $allData['data1'] !!} 
</script> 
相關問題