未调用 SlimPHP 路由
SlimPHP Route not being called
我目前正在尝试了解为什么这条路线没有被命中
$app->group('/sites', function () use ($app) {
$app->post('/add', function ($request, $response, $args) {
$data = $request->getParsedBody();
return json_encode($data);
});
$app->post('/delete', function ($request, $response, $args) {
$data = $request->getParsedBody();
return json_encode($data);
});
});
为了避免调用 return 404 错误,我必须全局注册以下路由。
$app->post('/', function ($request, $response, $args) {
$data = $request->getParsedBody();
return json_encode($data);
});
如果我尝试将其注册为 /sites/delete,它会抛出异常,告诉我无法注册两条相同的路由,因此应用程序知道我已经注册了这条路由。
调用这个路由的代码是一个简单的jQuery $http 方法
$.post('/sites/delete', data);
我已检查以确保我确实随此 POST 请求一起发送了数据。
ChromeDev Tools 中的所有内容都告诉我我正在发布到正确的路由,但是由于某种原因,SlimPHP 似乎没有正确响应此请求,而我应用程序中的所有其他路由似乎都工作正常,减去这个 /sites 组。我在注册该组时做错了什么吗?我已经注册了其他类似的群组,它们似乎都运行良好?
这里的答案最终是我有一个站点目录。 Per Ron Dandon 对上述内容的评论 post.
Most .htaccess rewrite codes will ignore the rewrite if an actual directory or file that matches the route exists, so you will not be passed to slim at all.
我目前正在尝试了解为什么这条路线没有被命中
$app->group('/sites', function () use ($app) {
$app->post('/add', function ($request, $response, $args) {
$data = $request->getParsedBody();
return json_encode($data);
});
$app->post('/delete', function ($request, $response, $args) {
$data = $request->getParsedBody();
return json_encode($data);
});
});
为了避免调用 return 404 错误,我必须全局注册以下路由。
$app->post('/', function ($request, $response, $args) {
$data = $request->getParsedBody();
return json_encode($data);
});
如果我尝试将其注册为 /sites/delete,它会抛出异常,告诉我无法注册两条相同的路由,因此应用程序知道我已经注册了这条路由。
调用这个路由的代码是一个简单的jQuery $http 方法
$.post('/sites/delete', data);
我已检查以确保我确实随此 POST 请求一起发送了数据。
ChromeDev Tools 中的所有内容都告诉我我正在发布到正确的路由,但是由于某种原因,SlimPHP 似乎没有正确响应此请求,而我应用程序中的所有其他路由似乎都工作正常,减去这个 /sites 组。我在注册该组时做错了什么吗?我已经注册了其他类似的群组,它们似乎都运行良好?
这里的答案最终是我有一个站点目录。 Per Ron Dandon 对上述内容的评论 post.
Most .htaccess rewrite codes will ignore the rewrite if an actual directory or file that matches the route exists, so you will not be passed to slim at all.