我正在尝试从警报按钮中使用ajax删除记录,但是什么也没做。这是我到目前为止所拥有的 按钮
logcat
app.js
<button type="button" value="{{$announcement->id}}" id="close-alert" class="close" data-url="{{ route('member.postDeleteAnnouncement', ['id' => $announcement->id]) }}" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
});
和我的控制器动作
jQuery(document).ready(function($) {
$('#close-alert').click(function() {
var url =$('#close-alert').data('url');
ajax ({
type: 'POST',
url: url,
success: function(){
console.log('data sent');
},
});
});
非常感谢您的帮助。
这是路线代码
public function postDeleteAnnouncement ($announcement_id)
{
$user = \Sentinel::getUser();
$member = $user->member;
$member->announcements()->detach($announcement_id);
}
答案 0 :(得分:0)
您是否发布了CSRF令牌?是这种形式还是仅是按钮?
var _token = $("input[name='_token']").val();
并与其他数据一起传递。
data: { _token:_token , etc:etc }
值得尝试
答案 1 :(得分:0)
CSRF令牌在您的ajax请求中丢失,并且对于每个帖子类型请求都是必需的。像这样使用它:
$.ajax({
...
method: 'post',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
...
});
在刀片视图中,使用:
<meta name="csrf-token" content="{{ csrf_token() }}">