【发布时间】:2017-11-30 10:07:51
【问题描述】:
我正在尝试将会话数组存储在 jquery 变量中。
我的代码:
<script>
@if(session()->has('zoektermen'))
var zoektermen = '{{ session()->get('zoektermen') }}';
console.log(zoektermen);
@endif
</script>
将会话放入控制器中:
if(isset($_GET['searchquery'])) {
$searchquery = $_GET['searchquery'];
}
if(session()->has('zoektermen')) {
session()->forget('zoektermen');
session()->put('zoektermen', $searchquery);
} else {
session()->put('zoektermen', $searchquery);
}
但我收到一个错误,因为 {{ }} 需要一个字符串而不是数组。
htmlspecialchars() expects parameter 1 to be string, array given
将会话中的数组存储到JS数组中的正确方法是什么?
【问题讨论】:
-
用其他刀片试试
{!! !!}看看。 -
你不能使用php数组来JS。您必须转换为 JSON,然后您才能在那里使用
-
@PandhiBhaumik 相同的错误数组到字符串的转换
-
那么您可能没有正确执行...将任何数据对象编码为 JSON 将给您一个字符串值。
-
您的代码不足以解决此问题,请粘贴导致错误的全部或相关代码。
标签: javascript php jquery arrays session