繁体   English   中英

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

[英]How to setting up controller to return json (Laravel 5)

我想做的是从控制器返回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>

当我加载视图并单击“加载书籍”按钮时,仅显示“正在加载...”的javascript不会显示来自控制器的数据。 我的代码有什么问题?,请帮助我。 谢谢

您可以这样使用:

还尝试使用dd($ books); 看看是否还可以,然后使用console.log(data)查看json

返回response()-> json([''name'=>'Abigail','state'=>'CA']);

并在js方面:

data.name或data.state

记住如果您要在json中返回数组,则需要迭代ID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM