2

私は現在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" だけが表示されます。誰かが助けてくれることを願っています。

4

2 に答える 2