使用laravel从php将变量发送到javascript的最佳方式

时间:2014-02-11 20:18:09

标签: javascript php ajax laravel

现在我正在从laravel发送一个json到View并填充一个表单,问题是我需要根据javascript中的数据进行某些修改。 现在我使用Ajax请求从服务器请求确切的数据,我认为这有点重复,我知道我可以做一些像(var data = {{$ data}})并在我的js文件中使用它

我的问题是,什么是最好的解决方案?进行ajax调用或直接从视图中创建变量,我不知道是否从视图中创建变量是不好的做法。

由于

1 个答案:

答案 0 :(得分:8)

这是一个传递javascript变量的解决方案。 http://forumsarchive.laravel.io/viewtopic.php?id=2767

在控制器

// controller
$js_config = array(
    'BASE' => URL::base(),
    'FACEBOOK_APP' => Config::get('application.facebook_app')
);

return View::make('bla')
    ->with('js_config', $js_config);

在视图中

<script>
var config = <?php echo json_encode($js_config) ?>;

alert(config.BASE);
alert(config.FACEBOOK_APP.id);
alert(config.FACEBOOK_APP.channel_url);
</script>

图书馆也可用于此目的

https://github.com/laracasts/PHP-Vars-To-Js-Transformer

public function index()
{
    JavaScript::put([
        'foo' => 'bar',
        'user' => User::first(),
        'age' => 29
    ]);

    return View::make('hello');
}

此问题有多种方法