我目前正在尝试http://altorouter.com/到目前为止它对我来说效果很好,除了我遇到的这个问题
我的路线是这样设置的:
$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”。希望有人可以提供帮助。