我正在处理一些我在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();
我上面的代码可以做类似的事吗? (会话和数组数据?)
答案 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>