Php 使用Laravel表单集合中的sweetalert确认删除

Php 使用Laravel表单集合中的sweetalert确认删除,php,laravel,forms,sweetalert,laravelcollective,Php,Laravel,Forms,Sweetalert,Laravelcollective,我是使用laravel的初学者,请帮助 我正在使用sweet alert在删除之前请求确认。错误表明它缺少destroy所需的参数,尽管我确信我正在向函数destroy传递一个id 这是我的密码 Announcement.blade.php @extends('masterlayout') @section('title')Announcement @endsection @section('myHeader') <div class="container myJumbot

我是使用laravel的初学者,请帮助

我正在使用sweet alert在删除之前请求确认。错误表明它缺少destroy所需的参数,尽管我确信我正在向函数destroy传递一个id

这是我的密码

Announcement.blade.php

 @extends('masterlayout')
@section('title')Announcement @endsection

@section('myHeader')

<div class="container myJumbotron">
    <h1>ANNOUNCEMENTS</h1>
    @if(count($announcements) > 0)
    @foreach($announcements as $announce)
    <div class="jumbotron" style="margin-top: 20px; padding: 20px">
        <input type = "hidden" class = "deletebtn_id" value = "{{ $announce->id}}">
        <p>{{$announce->announcement}}</p>
        <small>Written on {{$announce->created_at}}</small>
        <hr>
        <a href="/announcements/{{$announce->id}}/edit" class="btn bg-OwnInfo">Edit</a>

        {!!Form::open(['action' => ['AnnouncementsController@destroy',$announce->id], 'method' => 'POST', 'class' => 'float-right'])!!}
        {{Form::hidden('_method', 'DELETE')}}
        {{Form::submit('Delete', ['class' => 'btn bg-OwnDanger myDeletebtn'])}}
        {!!Form::close()!!}
    </div>
    @endforeach
    {{$announcements->links()}}
    @endif
</div>
<div class="container">
    <div class="float-right">
        <a href="/announcements/create" class="btn bg-OwnSuccess">New Announcement</a>
    </div>
</div>

@include('AnnouncementsFolder.delete_scripts')
@endsection
<script>
    $(document).ready(function() {
        $('.myDeletebtn').click(function(e) {
            e.preventDefault();

            delete_id = $(this).closest("div").find('.deletebtn_id').val();
            data_id = delete_id
            //alert(data_id);

            swal({
                    title: "Are you sure?",
                    text: "Once deleted, you will not be able to recover this imaginary file!",
                    icon: "warning",
                    buttons: true,
                    dangerMode: true,
                })
                .then((willDelete) => {
                    if (willDelete) {
                        $.ajax({
                            type: "DELETE",
                            url: "{{ route('announcements.destroy') }}" + '/' + delete_id,

                            success: function() {
                                swal("Poof! Your imaginary file has been deleted!", {
                                    icon: "success",
                                });
                            }
                        });
                    } else {
                        swal("Your imaginary file is safe!");
                    }
                });
        });
    });
</script>

路线


错误是:

缺少[Route:announcements.destroy][URI:announcements/{announcement}]所需的参数。(视图:C:\xampp\htdocs\Websys\u 2\u Project\resources\views\AnnouncementsFolder\delete\u scripts.blade.php)

更改

url: "{{ route('announcements.destroy') }}" + '/' + delete_id,`


如果要生成指向该路由的URL,则必须将参数传递给
route
helper,因为根据errorChange
URL:“{route('announcements.destroy')}}”+'/'+delete_id,
URL:“/announcements/”+delete_id,
它现在获取公告的id,但仍然有错误。删除419(未知的main.js?attr=vz3LhLv…H2fcDaHWQ0ZQRA:1078状态)@J.J这是一个csrf问题,检查这个让我知道如果你有任何其他错误哇,它工作了它现在删除了帖子,但我仍然需要重新加载页面。在重新加载之前,我得到一个错误:methodnotallowed
Route::resource('announcements', 'AnnouncementsController');
url: "{{ route('announcements.destroy') }}" + '/' + delete_id,`
url: "/announcements/" + delete_id,`