Php – Laravel 4 how to return multiple view data with ajax and json


Basically I'm trying to make a popup using this ajax:

    type: 'GET'
    url: 'news/read'
    dataType: 'json'
    cache: false
    timeout: 10000
}).done (msg) ->
    $("article#pop-read").empty().html msg.view
    processing = false
        path: msg.url
        , "", msg.url

And I'm returning a view value and it's url with this:

$data = json_encode(array(
        'view' => View::make(''),
    'url' => 'news/read/2013/11/24/test-title-seperate-with-dash'
return $data;

This all works really well except that I can't get the view value from laravel (it returns Object object in javascript). But it returns nicely if I directly write it like return View::make(''). Why is that?

Additionally (don't have to answer, not primary question), the back button on my browser doesn't work when I use pushState, is it a bug?

Best Solution

You may try this

$data = json_encode(array(
    'view' => (String)View::make(''),
    'url' => 'news/read/2013/11/24/test-title-seperate-with-dash'
return $data;

Also, you can use


Also, Laravel provides Response::json() method for same reason (instead of json_encode).