我正在尝试使用Silex在网站上制作表单,但是当我发布数据时,它会给我一个405错误。我没有使用Silex表单生成器。只是HTML。 Silex中是否存在阻止POST数据的设置? GET工作正常。
HTML:
<form name='login' action='' method='POST'>
Username: <input type='text' name='user' value=''><br />
Password: <input type='password' name='pass' value=''><br />
<input type='submit' name='submit' value='Submit'>
</form>
答案 0 :(得分:0)
HTTP的405状态代码意味着方法不允许,在您的情况下,这意味着您已为该网址定义了路由,但它不接受发布请求。这可能是这样的:
$app->get("/myform", function () use ($app) {});
即使网址本身匹配,除了GET之外什么都不匹配,其他一切都会产生405.你有两个选择:
$app->post()
$app->match()
如果沿着第二条路走下去,我推荐以下模式:
$app->match("/myform", function (Request) use ($app) {
if ($request->isMethod("post")) {
// process post data
}
});