2017-03-02 70 views
1

我不知道它,因为模型,以分贝,我不知道在哪里把模型文件和如何写在上面,进出口新的laravel 5.2我不能插入数据使用AJAX在laravel 5.2

HTML( testing.blade.php)

<input type="text"id="name" name="name"> 
<button type="submit" id="add">ADD</button> 

AJAX

$("#add").click(function() { 
     $.ajax({ 
      type: 'post', 
      url: 'addItem', 
      data: { 
       '_token': $('input[name=_token]').val(), 
       'name': $('input[name=name]').val() 
      }, 
      success: function(data) { 
       alert(data); 
      }, 
     }); 
     $('#name').val(''); 
    }); 

路由

Route::post ('test', '[email protected]'); 

控制器

public function addItem(Request $request) { 
    $data = new Comments(); 
    $data->comment = $request->name; 
    $data->save(); 
    return response()->json ($data); 
} 
+0

应该是路由名称,你的情况,而不是'测试“的addItem” –

+0

而且有在刀片文件 –

+0

我已经改变为“_token”没有输入元素阿贾克斯调用仍然不插入 – donnah

回答

1
  • 您需要添加CSRF领域,这个值发送到服务器。
  • 阿贾克斯网址需要匹配的路由元件(未与控制器功能名称)

BLADE:

{{ csrf_field() }} 
<input type="text" id="commentName" name="commentName"> 
<button type="submit" id="add">ADD</button> 

AJAX:

$("#add").click(function() { 
    $.ajax({ 
    type: 'post', 
    url: '/add-item', 
    data: { 
     '_token': $('input[name="_token"]').val(), 
     'name': $('input[name="commentName"]').val() 
    }, 
    success: function(data) { 
     alert(data); 
    }, 
    }); 
    $('#name').val(''); 
}); 

路线:

Route::post ('add-item', '[email protected]'); 

Documentation regarding to CSRF Protection.

在Ajax调用URL