[英]error when receiving an array from the controller in a javascript function in project laravel
我收到錯誤“htmlspecialchars () 期望參數 1 為字符串,給定數組” 。 我正在將一個數組從控制器傳遞到視圖並嘗試將其收集在 javascript 函數中,非常感謝您的幫助。
代碼控制器
$etis = EtiquetaPresupuesto::where('presupuestos_id', $id)->get();
$idEtiquetas=[];
foreach ($etis as $eti) {
array_push($idEtiquetas, $eti->etiquetas_id);
}
return view('presupuestos_contabilidad/info-presupuestos', [
'etiquetas_id' => $idEtiquetas,
]);
在視圖中編寫 javascript
function etiquetas_sesion(){
var array_etiquetas = {{$etiquetas_id}};
}
您必須使用json_encode()
函數來獲取數組或對象。
您也可以使用
@json()
刀片選擇器
例如:
function etiquetas_sesion(){
var array_etiquetas = @json($etiquetas_id);
}
function etiquetas_sesion(){
var array_etiquetas = {!! json_encode($etiquetas_id) !!}
}
您代碼中的$etiquetas_id
是一個數組,但您試圖通過{{ }}
將其打印為字符串,該字符串通過htmlspecialchars()
對其進行轉義。
如果您希望在 JavaScript 中保留數組(作為 JavaScript 數組),請使用json_encode()
:
var array_etiquetas = {!! json_encode($etiquetas_id) !!};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.