我想发布一个带有ajax的表单。我的控制台出错了:
无法加载资源:服务器响应状态为500(内部服务器错误)
我有一张表格:
{!! Form::open(array('url'=>'uren','method'=>'POST', 'id'=>'myform')) !!}
//inputs here etc..
{{ Form::button('Add', array('class' => 'btn btn-btn send-btn')) }}
{{ Form::close() }}
我的Ajax:
$(document).ready(function(){
$('.send-btn').click(function(){
$.ajax({
url: 'uren',
type: "post",
data: {
'werk': $('input[name="werk"]').val(),
'starttijd': $('input[name="starttijd"]').val(),
'eindtijd': $('input[name="eindtijd"]').val(),
'omschrijving': $('input[name="omschrijving"]').val(),
'_token': $('input[name="_token"]').val()},
success: function(data){
alert(data);
}
});
});
});
在路线(web.php)中:
Route::post('uren', 'User\UrenController@store');
在控制器中:
public function store() {
if (\Request::ajax()) {
if(Request::input('omschrijving') != '') {
$omschrijving = Request::input('omschrijving');
}else{
$omschrijving = '';
}
DB::table('uren')->insert(
[
'userID' => Auth::user()->id,
'datum' => Carbon\Carbon::now(),
'projectID' => Request::input('werk'),
'starttijd' => Request::input('starttijd'),
'eindtijd' => Request::input('eindtijd'),
'omschrijving' => $omschrijving
]
);
}
}
我认为我需要使用 csrf_token 标记执行某些操作。传递500错误。但是我该怎么做呢?
[UPDATE]
我添加了令牌,然后我可以发回令牌并在alert
中显示令牌。但是当我添加DB::table....
时,它仍然会给我500错误
[完成] 问题是我的查询..字段为空但它需要是一个字符串。我解决了。
答案 0 :(得分:1)
如果您不想要CSFR中间件,可以在laravel 5中禁用它:
禁用CSFR保护: 转到此文件:
app/Http/Middleware/VerifyCsrfToken.php
您可以禁用所有发布请求或特定路由。 有关更多信息xfer:https://laravel.com/docs/5.0/routing#csrf-protection
OR
只需在您的数据"_token": "{{ csrf_token() }}",