方法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;
}
}