Javascript 如何设置控制器以返回json(Laravel 5)

Javascript 如何设置控制器以返回json(Laravel 5),javascript,php,json,laravel,Javascript,Php,Json,Laravel,我想做的是从我的控制器返回json,这是我的控制器: class BooksController extends Controller{ public function getIndex(){ return View::make('books.index'); } public function getBooks(){ $books = array('Alice in Wonderland','Tom Sawyer','Gulliver\

我想做的是从我的控制器返回json,这是我的控制器:

class BooksController extends Controller{
    public function getIndex(){
        return View::make('books.index');
    }

    public function getBooks(){
        $books = array('Alice in Wonderland','Tom Sawyer','Gulliver\'s Travels','Dracula','Leaves of Grass');
        return Response::json($books);
    }
}
这是我的路线:

Route::controller('books', 'BooksController');
这是我的观点:

<html>
    <head>
      <meta charset=utf-8 />
      <title>Show Books</title>
      <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
    </head>

    <body>
        <a href="#" id="book-button">Load Books</a>
        <div id="book-list"></div>

        <script>
            $(function() {
                $('#book-button').on('click', function(e) {e.preventDefault();
                    $('#book-list').html('loading...');

                    $.get('books/books', function(data) {var book_list = '';
                        $.each(data, function(){
                            book_list += this + '<br>';
                        })
                        $("#book-list").html(book_list);
                        $('#book-button').hide();
                    });
                });
            });
        </script>
    </body>
</html>
当我加载视图并单击LoadBooks按钮时,javascript只是显示加载…,没有显示来自控制器的数据。我的代码怎么了?,帮帮我。谢谢

您可以这样使用:

还尝试使用dd$书籍;要查看arry是否正常,请使用console.logdata查看json

返回响应->json['name'=>'Abigail','state'=>'CA']

在js方面:

data.name或data.state


还记得如果您在json中返回数组,您需要iterate id

,如果我有多个名称和状态,该怎么做吗?如何在数据{var id=data[i].id;var name=data[i].name;}