亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

超薄 4 放置和刪除表單提交

超薄 4 放置和刪除表單提交

PHP
當年話下 2022-09-17 22:03:51
如何在 Slim 4 中執行 PUT 和刪除表單提交?我有以下路線:$group->get('/sites/create', SitesController::class . ':create')->setName('sites_create');$group->get('/sites/{id}/edit', SitesController::class . ':edit')->setName('sites_edit');$group->post('/sites', SitesController::class . ':createSubmit')->setName('sites_create_submit');$group->put('/sites', SitesController::class . ':editSubmit')->setName('sites_edit_submit');這是我的:<form action="/sites" method="POST">    <label for="name">Site name</label>    <input type="text" class="form-control" id="name" name="name">                     <input type="hidden" name="_METHOD" value="PUT">    <button type="submit">Submit</button></form>這就是我在Slim 3中會如何做到的。但它不會轉到編輯提交方法,而是轉到創建提交方法。如何使用這些方法提交?
查看完整描述

1 回答

?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

根據 Slim 4 文檔,您仍然可以使用請求正文中的參數或使用標頭來覆蓋表單方法。_METHODPOSTX-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();


查看完整回答
反對 回復 2022-09-17
  • 1 回答
  • 0 關注
  • 116 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號