我在 laravel 8 中使用資源控制器,我想從洗掉按鈕中點擊它的洗掉方法。如何使用methord='delete'創建一個按鈕。我必須在 JavaScript 中創建它,因為按鈕位于表格中,并且我已經使用 JS 創建了該表格。
我的編輯按鈕是這樣的:
<a href='" base_url "/donner/" user['donner_id'] "/edit'><button class='btn btn-sm btn-outline-warning'><i class='fa-solid fa-pen-to-square'></i> Edit</button></a>
對于洗掉按鈕,我必須使用洗掉方法發送請求。表單按鈕或錨標記。
uj5u.com熱心網友回復:
看看下面的示例代碼。它向您展示了哪些步驟。將 js 觸發器系結到按鈕。然后使用 fetch 或 axios 或 whatEverToMakeJSApiCalls。
注意我確信下一個問題會來。CSRF, etc
<button
class=""
onclick="deleteSomething( {{$id}} )">
</button>
function deleteSomething(id) {
fetch('/api/deleteModelName/' id, {
method: 'DELETE'
})
}
uj5u.com熱心網友回復:
無法直接從純 HTML 發送 DELETE 請求。您可以使用 JavaScript 發送 DELETE 請求,或者某些框架支持將該方法作為引數傳遞到 POST 請求正文中。
<form action="/delete" method="POST">
<input type="hidden" name="_method" value="DELETE" />
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="submit" value="Delete">
</form>
這種技術使用的表單是唯一可見的輸入是一個按鈕。單擊按鈕時,它會提交向服務器發送 POST 請求的表單。服務器然后檢測“_method”欄位并將其視為洗掉請求。
你可以在Laravel 檔案中了解更多關于方法欺騙的資訊。
uj5u.com熱心網友回復:
<a onclick= sendDelete('" base_url "/donner/" user['donner_id'] "/delete') ><button class='btn btn-sm btn-outline-warning'><i class='fa-solid fa-pen-to-square'></i> Delete</button></a>
function sendDelete(p) {
var xhr = new XMLHttpRequest();
xhr.open("DELETE",p);
xhr.send();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/455008.html
標籤:javascript php 拉拉维尔 laravel-8
