laravel 5.5,通过ajax删除帖子。刷新页面后工作

时间:2018-04-02 11:23:04

标签: javascript ajax laravel

我是laravel的新人,请任何帮助。

当我点击删除没有发生任何事情,刷新页面后删除帖子...

我的控制器

public function destroy(Request $request)

{

    if(isset($request->id)){
          $post = Post::findOrFail($request->id);
          $post->delete();
    }

 }

我的路线

Route::delete('/adminpanel/dashboard/posts/', 'Adminpanel\PostsController@destroy')->name('post.delete');

HTML

<a class="btn btn-danger deletebtn" data-post="{{ $post->id }}">
i class="fas fa-minus"></i></a>

的javascript

  <script type="text/javascript">
    $(document).on('click', '.deletebtn', function(ev){
        let postid = $(this).attr("data-post");
        $.ajax({
            method: 'DELETE',
            url: '{{ route('post.delete') }}',
            dataType: 'json',
            data: {id:postid,"_token": "{{ csrf_token() }}"},

            success: function (data) {
                alert(data);
            },

            error: function (data) {
                alert(data);
            }
        });
    });

1 个答案:

答案 0 :(得分:2)

试试这个。

选项#1:

<script type="text/javascript">
    $(document).on('click', '.deletebtn', function(ev){
        let postid = $(this).attr("data-post");
        $.ajax({
            method: 'DELETE',
            url: '{{ route('post.delete') }}',
            dataType: 'json',
            data: {id:postid,"_token": "{{ csrf_token() }}"},

            success: function (data) {
                location.reload();
            },

            error: function (data) {
                alert(data);
            }
        });
    });
控制器中的

选项#2

public function destroy(Request $request)

{

    if(isset($request->id)){
          $post = Post::findOrFail($request->id);
          $post->delete();
          return redirect()->back();
    }

 }