如何使用带有Laravel和Restful控制器的Ajax从数据库中删除

时间:2021-05-28 22:12:15

I have the following code in my view:

我的观点中有以下代码:

@foreach ($articlestore as $art)

<form action="{{URL::to('/story/' . $art->id)}}" method="post" id="article_one">

<div class="form-group">
<input type="hidden" name="chosen_title" value="{{$art->id}}" class="form-control">
</div>
<button type ="button" onclick="deleteArticle({{ $art->id }})" id="Reco">Delete</button>
{{Form::token()}}

</form> 
@endforeach


<script type="text/javascript">

function deleteArticle(id) {

 $.ajax({
 url: '/Project/public/story/'+id,
 data: { "_token": "{{ csrf_token() }}" },
 type: 'DELETE',
 success: function(result) {
 console.log(result);
}
});
}

Controller:

控制器:

public function destroy($id)
{

     $articledel = FootballArticle::find($id);
             $articledel->delete();


}

Im very new to AJAX and so im struggling to know how to delete a row from my table using JQuery. Any help would be much appreciated.

我对AJAX非常陌生,所以我很难知道如何使用JQuery从表中删除一行。如有任何帮助,我们将不胜感激。

1 个解决方案

#1


3  

Change

改变

<button type ="button" onclick="deleteArticle($art->id)" id="Reco">Delete</button>

to

<button type ="button" onclick="deleteArticle({{ $art->id }})" id="Reco">Delete</button>
                                              ^^          ^^

In deleteArticle() change

在deleteArticle()的变化

url: 'http://localhost/Project/public/story'+id,

to

url: '/Project/public/story/'+ id,
     ^^                   ^^

and add

并添加

data: { "_token": "{{ csrf_token() }}" },

so it looks like

所以它看起来像

$.ajax({
    url: '/project/public/story/' + id,
    data: { "_token": "{{ csrf_token() }}" },
    type: 'DELETE',
    success: function(result) {
        console.log(result);
    }
});

Also you don't need to do a redirect in your destroy() method when you make an ajax call

此外,在进行ajax调用时,不需要在destroy()方法中执行重定向

return Redirect::back();

#1


3  

Change

改变

<button type ="button" onclick="deleteArticle($art->id)" id="Reco">Delete</button>

to

<button type ="button" onclick="deleteArticle({{ $art->id }})" id="Reco">Delete</button>
                                              ^^          ^^

In deleteArticle() change

在deleteArticle()的变化

url: 'http://localhost/Project/public/story'+id,

to

url: '/Project/public/story/'+ id,
     ^^                   ^^

and add

并添加

data: { "_token": "{{ csrf_token() }}" },

so it looks like

所以它看起来像

$.ajax({
    url: '/project/public/story/' + id,
    data: { "_token": "{{ csrf_token() }}" },
    type: 'DELETE',
    success: function(result) {
        console.log(result);
    }
});

Also you don't need to do a redirect in your destroy() method when you make an ajax call

此外,在进行ajax调用时,不需要在destroy()方法中执行重定向

return Redirect::back();