0
DBテーブルのブール値を切り替えるボタンがあります。それは動作しますが、毎回ページをリロードしますので、AJAXを使用して切り替えます。私は、コントローラに必要なIDを提供できるAJAXポストリクエストをどのように行うのか分かりません。これは私がこれまで持っているものです。Ajaxを使用してIDを渡すコントローラメソッドを実装する
TaskController方法:(この場合には1のIDを持つ最初のタスク)を切り替えるために使用
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');
}
ボタン:
{{ 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のdoesn 「トンの仕事...
$('.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(Method not Allowed)"エラーを受け取りました。これはパッチリクエストなので、 'タイプ'は 'PATCH'にする必要があるので、これを試してみたところ、 '500(内部サーバーエラー)'が返されると思いました。何か案は? – user3623348
それはcrsf propably、それは常にajaxリクエスト(コメントは、アプリケーションのhttp:/ kernel.phpのcrsfmiddlwareをコメントする場合は、その問題をreaky) –