猿问

在laravel中使用fetch api删除记录?

我正在尝试使用 fetch api 删除记录 laravel,但出现以下错误:此路由不支持 GET 方法。支持的方法:删除。


路线:


Route::delete('/persona_eliminar/{id}', 'PersonaController@eliminar');

来自我获取 id 的 foreach 的按钮:


<button class="btn btn-danger btn-sm"

                        onclick="deletePersona({{$persona->id}})">

                        <i class="fas fa-times">

                        </i>

                    </button>

JS:


function deletePersona(id) {

fetch("/persona_eliminar/" + id, {

    method: "DELETE",

})

    .then((res) => res.json())

    .then((response) => {

        console.log(response);

    });

}


牛魔王的故事
浏览 97回答 3
3回答

白衣非少年

//use url with route//install axios//define axiosvar axios = require('axios');&nbsp; axios({method: 'post',&nbsp; &nbsp; &nbsp; &nbsp; url: baseUrl + '/persona_eliminar',&nbsp; &nbsp; &nbsp; &nbsp; data: {_token: $('meta[name="csrf-token"]').attr('content'), id: id}&nbsp; &nbsp; })&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .then(function (response) {})

胡说叔叔

我相信标准语法是function deletePersona (id) {&nbsp; fetch('/persona_eliminar/' + id, {&nbsp; &nbsp; method: 'POST',&nbsp; &nbsp; body: JSON.stringify({&nbsp; &nbsp; &nbsp; _method: 'PUT'&nbsp; &nbsp; })&nbsp; }).then((res) => res.json())&nbsp; &nbsp; .then((response) => {&nbsp; &nbsp; &nbsp; console.log(response)&nbsp; &nbsp; })}

智慧大石

即使使用路由的兼容方法,我个人也遇到了 fetch API 的问题。所以我改用 axios,它预装了默认的 Laravel 前端。你可以这样做:axios.delete("/persona_eliminar/" + id).then((res) => {&nbsp; //})这是我测试它的方法路线::Route::delete('/bounties/{bounty}/delete', 'BountyController@destroy');Axios 演示:
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答