2016-05-06 5 views
0

AJAX呼び出しを使用して、Laravel 5.2を使用してフォームからユーザーエントリを更新しようとしています。 AJAXを使わないでフォームを送信すると、新しいエントリが想定通りにデータベースに保存されますが、Patch AJAXリクエストで試してみると、405(Method Not Allowed)エラーが発生します。ここでAJAX経由のPATCHリクエストで405(メソッドが許可されていません)を受け取りました

は私のフォームの最初の行です:

$.ajax 
({ 
    url: '/foo/update/1', 
    type: 'PATCH', 
    dataType: 'json', 
    success: function(response) 
    { 
     alert('inside AJAX function'); 
     console.log('inside AJAX leader button'); 
    } 
}); 

私はPUTする方法の種類を変更しようとすると、私は同じエラーが表示されます。

{!! Form::open(['method' => 'PATCH', 'action' => ['[email protected]', 1]]) !!} 

そしてここでは、AJAX呼び出しですPUT/PATCHに変更すると、AJAXコールはトリガーされません。メソッドをPOSTに変更すると、エラー500が返されます。メソッドは更新メソッドがポストメソッドではないため、例外が見つかりませんでした。 私はRESTfulなすべてのメソッドを作成するには、この行を使用:

Route::resource('foo', 'FooController'); 

私はそれがPOSTメソッドを使用して動作するように試みることができることを知っているが、私はより多くのPATCHを理解したいと思います。この問題を解決するのに役立つ情報があれば、それは非常に感謝しています。

答えて

0

これは、エンドポイントがPATCH要求を許可しないことを意味します。 RFC 2016によると、Allowedヘッダーが返され、要求の許可されたメソッドのリストがあるはずです。したがって、そのメソッドをチェックして、どのメソッドを使用できるか把握してください。

関連する問題