如何从Javascript访问Laravel Helper?

问题描述 投票:0回答:3

我有一个Laravel网络应用,并希望从任何.js文件访问我的Laravel帮助器。

通常,我从blade.php文件中的脚本访问助手,如下所示:-

<script>
function getSiteSettings() {
    return JSON.parse('<?php echo json_encode(Helper::getSettings()) ?>');
}
</script>

但是我想从我的script.js文件访问它。 有可能吗?我已经尝试使用localStorage并非常容易地获得它,但是问题是,站点设置中有一些安全数据。

并且如果可能的话隐藏localStorage数据,那么我的问题将得到解决。

javascript php laravel helper
3个回答
0
投票

PHP-Vars-To-Js-Transformer可能是一种方法,即使我不确定是否会推荐它,但它确实可以满足您的需求。


0
投票

我认为您最好的选择是立即做您正在做的事情。

或者,在script.js文件中创建一个页面加载时可以返回这些设置的JSON的资源终结点:

// script.js
document.addEventListener("DOMContentLoaded", function() {
     // make an ajax request here and load your setting in a js variable
});

// if using jquery
$(function() {
     // make an $.ajax request here and load your setting in a js 
})

0
投票

最简单的解决方案是在getSiteSettings函数内使用Ajax或Axios(正在使用vue)调用api,并在api的响应中返回数据。

© www.soinside.com 2019 - 2024. All rights reserved.