0

次のシナリオで Laravel を使用して、セッションにブック ID を追加するにはどうすればよいですか?

@foreach( $books as $book )
    <li>
        {{ $book->name }}
        <a href="#" onClick='addBookToList( "<?= $book->id ?>" )'>Add Book To List</a>
    </li>
@endforeach

これが私の試みです。このように動作するはずがないことはわかっていますが、どのように変更する必要がありますか?

<script>
function addBookToList( bookId )
{
    <? Session::put( 'bookId', bookId ); ?>
}
</script>
4

2 に答える 2

2

アレクサンダーは当たりです。ここではルートを使用してリクエストを処理しますが、コントローラーでもまったく同じコードを使用できます。

//routes.php
Route::post('/ajax/add-book', function(){
     Session::put( 'bookId', Input::get('bookId') );
});

html/js の実装は適切です。同じことを達成する別の方法を次に示します。

<a href="javascript:void(0)" data-book="<?= $book->id ?>">Add Book To List</a>

そしてあなたのjsファイルで

$('a[data-book]').click(function($e){
    $e.preventDefault();
     $.post("/ajax/add-book", {
        "bookId": $(this).data('book')
      });
});
于 2013-02-09T04:35:44.543 に答える
0

Laravelを使用したことはありませんが、これらの線に沿った何かが機能する可能性があると思います。

var addBookToList = function(bookId){
  $.post("session.php", {
    "bookId": bookId
  });
};

<a href="#" onClick='addBookToList( "<?= $book->id ?>" )'>Add Book To List</a>

<?php Session::put( 'bookId', Input::get('bookId') ); ?>
于 2013-02-08T22:05:50.797 に答える