1 回答

TA貢獻1852條經驗 獲得超1個贊
根據 Slim 4 文檔,您仍然可以使用請求正文中的參數或使用標頭來覆蓋表單方法。_METHOD
POST
X-Http-Method-Override
重要的一點(來自文檔)是你需要添加到你的應用才能覆蓋表單方法。Slim\Middleware\MethodOverrideMiddleware
下面是一個完全有效的示例:
<?php
require __DIR__ . '/../vendor/autoload.php';
use Slim\Factory\AppFactory;
$app = AppFactory::create();
$app->addRoutingMiddleware();
$app->add(new Slim\Middleware\MethodOverrideMiddleware);
$app->get('/', function($request, $response){
$form =<<<form
<form action="/put" method="post">
<input type="hidden" name="_METHOD" value="PUT"/>
<button type="submit">Send PUT request</button>
</form>
<form action="/delete" method="post">
<input type="hidden" name="_METHOD" value="DELETE"/>
<button type="submit">Send DELETE request</button>
</form>
form;
$response->getBody()->write($form);
return $response;
});
$app->put('/put', function($request, $response){
$response->getBody()->write('The request method is: ' . $request->getMethod());
return $response;
});
$app->delete('/delete', function($request, $response){
$response->getBody()->write('The request method is: ' . $request->getMethod());
return $response;
});
$app->run();
- 1 回答
- 0 關注
- 116 瀏覽
添加回答
舉報