如何将会话php数据从PHP传输到JS

时间:2014-12-05 21:28:23

标签: javascript php laravel

我正在处理一些我在Laravel 4视图中过滤到JS的PHP Session和Array数据。目前,php在iavascript部分就是这样的。

<?php $number_of_posts = 7; ?>;
    <?php $_SESSION['posts_start'] = isset($_SESSION['posts_start']) ? $_SESSION['posts_start'] : $number_of_posts; ?>;

    var start = {{ Session::get('posts_start', 7) }};
    var initialPosts = <?php echo Fanfollow::follows_json(Auth::user()->get()->id,0, $_SESSION['posts_start']); ?>;
    var desiredPosts = <?php echo $number_of_posts; ?>;

这很好用,但我想把我的javascript移动到外部js文件,而不是混合使用PHP和JS。

我的问题是,如何在不使用PHP直接在js中使用上面的PHP并使用js进行访问。

一个例子是在视图中使用HTML隐藏输入,如下所示:

<input type="hidden" id="num_posts" name="num_posts" value="{{$number_of_posts}}">

然后使用js拉

var number_posts = $('#num_posts').val();

我上面的代码可以做类似的事吗? (会话和数组数据?)

4 个答案:

答案 0 :(得分:0)

只需回显模板系统中的值

<script>
var number_posts = {{$number_of_posts}};
</script>

任何使用number_posts的Javascript代码都应该在上面的代码之后。

答案 1 :(得分:0)

如果你真的真的想要这样做,你可以将会话数据存储在

window.YOUR_SESSION_VARIABLE

并在外部js文件中调用ii。

答案 2 :(得分:0)

我用ajax做这个。我创建了get_session.php:

<?php
    session_start();
    echo json_encode($_SESSION);

然后:

$.ajax({
    url: 'get_session.php',
    dataType: 'json',
    method: 'POST',
    success: function(data) {
        // do stuff with session data
    }
});

答案 3 :(得分:0)

你可以像这样放置你的javascript / php混音

<script type="text/javascript" src="myscript.php"></script>