如何使用Laravel 5返回数据


How to return data with Laravel 5

方法AjaxController::InsertComment($comment,$name)有问题;不将$id变量返回到我的ajax.bade.php中。它将数据正确插入数据库,但不会返回。。。

这是我的Ajax控制器:

<?php namespace App'Http'Controllers;
use App'Http'Requests;
use App'Http'Controllers'Controller;
use Illuminate'Http'Request;
use Illuminate'Support'Facades'DB;
class AjaxController extends Controller {
    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function __construct()
    {
        $this->middleware('guest');
    }
    public function index()
    {
        return view('ajax.ajax');
    }
    public static function InsertComment($comment,$name){
        $qv = DB::table('comments')->insert(                        
                      array(
                        'name'   => $name,
                        'comments_text' => $comment
                        )
                    );
        //$id = DB::table('comments')->insertGetId(array('name' => 'john@example.com', 'comments_text' => 'asdasdsa'));
        $id = DB::getPdo()->lastInsertId();

        return $id;

    }
}

好吧,我想我现在已经搞定了。假设我们有以下内容:

Example: ajax.blade.php

<div>{{ "Hi" }} </div>
    <script>
    $.post('/ajax', {
        '_token': $('meta[name=csrf-token]').attr('content'),
        task: "comment_insert",
        userID: _userID,
        comment: _comment,
        name: _name,
        userName: _userName,
        date: _date
    }).done(function( data ) {
        alert( "ID Loaded: " + data );
    });
</script>

你的控制器应该读起来像:

<?php namespace App'Http'Controllers;
use App'Http'Requests;
use App'Http'Controllers'Controller;
use Illuminate'Http'Request;
use Illuminate'Support'Facades'DB;
class AjaxController extends Controller {
    public function __construct()
    {
        $this->middleware('guest');
    }
    public function index()
    {
        return view('ajax.ajax');
    }
    public static function InsertComment($comment,$name)
    {
        $id = DB::table('comments')
                    ->insertGetId(array(
                        'name'   => $name,
                        'comments_text' => $comment
                    ));
        return $id;
    }
}