我有一个Laravel Web应用程序,并希望从任何.js文件访问我的Laravel Helper。
通常我从blade.php文件中的脚本访问helper,如下所示:
<script>
function getSiteSettings() {
return JSON.parse('<?php echo json_encode(Helper::getSettings()) ?>');
}
</script>
但是我想从我的 script.js 文件访问它。这可能吗?我已经尝试了localStorage,并且很容易获得它,但问题是,在网站设置中有一些安全的数据。
如果可以隐藏localStorage数据,那么我的问题就解决了。
3条答案
按热度按时间5ssjco0h1#
我找到了答案。基本上,没有直接的方法可以在
.js
文件中编写PHP代码。这里有3种获取PHP/Laravel变量或Laravel Helper的简单方法。解决方案1.调用 AJAX 并从js获取返回值,并根据需要使用它。
解决方案2.任何Laravel Helper/Var都可以从刀片文件中访问,如下所示:
并在js中的任何地方使用此名称。
解决方案3.我一直在使用的最后一个也是最好的方法是:在刀片中添加外部脚本,并在脚本中添加getter和setter方法,以便您可以在js中设置刀片文件中的值。
然后在blade中,您可以像这样在Object中设置任何值:
希望它能对你有很大的帮助。快乐编码〈3
uinbv5nw2#
我觉得你最好还是做你现在做的事。
或者,在
script.js
文件中创建一个可以在页面加载时返回这些设置的JSON的资源端点:eqfvzcg83#
最简单的解决方案是在getSiteSettings函数中使用 AJAX 或Axios(使用vue)调用一个API,并在api的响应中返回数据。