私は現在http://altorouter.com/を試していますが、私が抱えているこの 1 つの問題を除いて、これまでのところうまく機能しています。
私のルートは次のように設定されています:
$router->map( 'PATCH', '/admin/pages', 'pageController@update');
次の jquery を使用すると、ルートは完全に機能します。
$.ajax({
type: "PATCH",
url: "/admin/pages",
data: {page_items:page_items, page_name: 'test_page'},
success: function(returned_data)
{
console.log(returned_data);
}
});
ただし、HTML に何を入力しても、通常のフォームを PATCH として受け入れる方法で送信することはできません。
<form action="/admin/pages" method="post">
<input type="hidden" name="form_function" value="edit_theme">
<input type="hidden" name="_METHOD" value="PATCH">
<button type="submit">Save Page</button>
</button>
「_METHOD」、「_method」、「method」などを試しましたが、どれも機能しません。
私も試してみました
method="PATCH"
しかし、それはGETを行うだけです。
ターゲット ページで $_SERVER['REQUEST_METHOD'] をエコーすると、ajax では "PATCH" が表示されますが、フォームでは "POST" だけが表示されます。誰かが助けてくれることを願っています。