Internal Javascript

The quickest solution is to assign the variabele to a view and use internal javascript.

Controller:

return View::make('index', [
    'myVar' => $myVar
]);

View (index.blade.php):

<script>
var myVar = '{{ $myVar }}';
</script>

External Javascript

Create a route to our fake .js file named script.js:

Route::get('/script.js', ['uses' => 'ScriptController@index']);

Create the Script Controller:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use View;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class ScriptController extends Controller
{
    public function index()
    {
        return response()->view('script', [
             'myVar' => 'test'
        ])->header('Content-Type', 'application/javascript');
    }
}

Create the View (script.blade.php):

var myVar = '{{ $myVar }}';

In the template:

<script src="{{ URL::asset('script.js') }}"></script>
Zoeken