簡體   English   中英

在項目 laravel 的 javascript 函數中從控制器接收數組時出錯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM