Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I'm developing a mobile web app with Laravel 4 and jQuery Mobile and I have some problems to pass data from Controller to JavaScript file. I find a solution but I think there is a proper way to do that.

Here is my code:

MapController.php

class MapController extends BaseController 
{
    public function showMap($id)
    {
        $club = Club::find($id);
        return View::make('pages.map', array('club' => $club));
    }
}

pages/map.php

<div id="picture" data-role="dialog">
  <div data-role="header" data-theme="d">
    <h1>
      Upload picture
    </h1>
  </div>
  <div data-role="content">
    code here...
  </div>

  <script type="text/javascript">
    var id_club = '<?php echo $club->id ?>';
  </script>
  <script src="public/js/map.js" type="text/javascript">
  </script>
</div>

Does anyone know if there is a better solution to pass data from controller to JavaScript?

share|improve this question
1  
Better way is to request it by AJAX via JSON. Or add hidden input and get it from there. –  Steve Jun 18 '13 at 18:25
add comment

2 Answers

up vote 1 down vote accepted

HTML

<input type="hidden" id="club-id" value="<?php echo $club->id ?>" />

Javascript

var club_id = $('#club-id').val().trim();
share|improve this answer
add comment

Use this package 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');
}
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.