0
控制器方法我有一個按鈕,在我的數據庫表中切換布爾值。它的工作原理,但每次重新加載頁面,所以我想用AJAX切換它。我不知道如何做一個AJAX post請求,它可以爲控制器提供它需要的ID。這是我到目前爲止有:使用Ajax來實現通過ID
TaskController方法:
{{ Form::open(array('action' => array('[email protected]', $task->id))) }}
{{ Form::hidden('_method', 'PATCH') }}
@if ($task->completed)
{{ Form::button('<span class="glyphicon glyphicon-ok"></span>', array('class'=>'btn btn-danger', 'type'=>'submit')) }}
@else
{{ Form::button('<span class="glyphicon glyphicon-remove"></span>', array('class'=>'btn btn-danger ajaxSubmit', 'type'=>'submit')) }}
@endif
{{ Form::close() }}
AJAX是沒有按:用於切換(在這種情況下,ID爲1的第一個任務)
public function updateCompleted($id)
{
$task = Task::findOrFail($id);
if($task->completed) {
$task->completed = false;
} else {
$task->completed = true;
}
$task->save();
Session::flash('message', 'Task updated!');
return redirect('tasks');
}
按鈕「T工作...
$('.ajaxSubmit').click(function(e) {
e.preventDefault();
$.ajax({
url: 'tasks/complete/{id}',
type: 'POST',
success: function(response)
{
console.log("working");
}
});
});
和路由:
Route::patch('tasks/complete/{id}', '[email protected]');
如何讓Ajax工作?由於
我試過這個,但現在我收到了「405(方法不允許)」錯誤。由於這是一個補丁請求,我認爲'type'需要'PATCH',所以我試過了,它返回'500(內部服務器錯誤)'。有任何想法嗎? – user3623348
它的crsf可以合理地說,谷歌它總是發生與ajax請求(評論app/http/kernel.php中的crsfmiddlware,看看它是否可以解決這個問題) –