too long

if have Controller with this index function:

public function getIndex() {
    return View::make('web.index')
        ->with('projects', Project::orderBy('id', 'DESC')->paginate(8));
}

in my view there is foreach loop

@foreach($projects as $project)
<a href="like/{{$project->id}}" class="action like {{$liked}}">
  {{$project->likes}}
</a>
@endforeach
<div class="pagination">
  {{$projects->links()}}
</div>

the getLike function:

public function getLike($id) {
    if(Cookie::get('like_'.$id) != 'true')
    {
        $project = Project::find($id);
        $project->increment('likes');
        $cookie = Cookie::forever('like_'.$id, 'true');
        $s = array(
            'status' => 'success'
        );

        $response = Response::json($s);
        $response->headers->setCookie($cookie);
        return $response;
    }
    $response = array(
        'status' => 'error'
    );
    return Response::json( $response );
}

the Ajax request:

$(".like").on("click", function(){
    $.get(
        $( this ).prop( 'href' ),
        {
        },
        function( data ) {

            if(data['status'] == 'error')
            {
                alert("Already Liked");
            }
            else {
                alert('Like');
            }
        },
        'json'
    );
    return false;
});

in the first page the getLike() function works perfectly!(im using ajax to collect the data), but when page 2 reloads( im using infinite scroll) the getLike function return blank page with the json text. help...

There are several things wrong with this approach.

  1. You do a GET request to make a like. I recommend to go learn about REST principles.
  2. You make a JS ajax call to PHP to set a cookie. I'm not a JS guru, but you can either store your likes in LocalStorage or set the cookie right from the JS. No need to create PHP endpoint for the same functionality.
  3. If you do write PHP, use this: return Response::json($data)->withCookie($cookie).

More info on Cookies in Laravel here: http://laravel.com/docs/requests#cookies