javascript - JS文件无法访问laravel变量
问题描述
我正在从我的控制器传递一个数组。
现在,我将这段代码放在我的 Laravel 6.* Blade View 中,
<script>
var app = <?php echo json_encode($array); ?>;
</script>
这工作得很好。
但是,如果我将同一行(或以下任何行)放在我的自定义 app.js 文件中,这将不起作用。
var app = <?php echo json_encode($array); ?>;
var app = {!! json_encode($array->toArray()) !!};
var app = '<?php echo json_encode($array); ?>';
每次我收到无效的语法错误。
我不确定这是否是 StackOverflow 的有效问题,但我已经尝试了所有其他类似的解决方案,但没有一个对我有用。
解决方案
那是因为您无权在 js 文件中编写 php 代码,或者您可以使用它Ajax
来获取 php 变量。
在您的声明中,如果您在包含文件之前将代码放入刀片文件中,app.js
您将能够app
在 js 文件中获取变量。前任:
<script>
var app = @json($array)
</script>
<script src="path to your app js file"></script>
现在在您的应用程序 js 文件中,如果您打印变量,您将在 app.js 文件中app
看到结果
console.log(app);
推荐阅读
- sql - Informix 中的身份
- php - 从多个重复年份输出唯一年份
- python - 尝试使用 conda 命令安装 tensorflow-gpu 时,当前 linux-64 通道中缺少依赖项
- r - 在事件发生之前提取变量第一次出现的行
- reactjs - 为什么 Jest 更新我项目中的所有快照?
- javascript - html5 drop 更改放置项的类
- javascript - Typescript 如何使用映射类型创建嵌套接口对象?
- c# - 通过 Outlook 插件添加 html 复选框(c#)
- android - Android - 使用广播接收器重新加载活动
- linux - pidof 和 pgrep 的区别?