首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用Laravel发出ajax请求

无法使用Laravel发出ajax请求
EN

Stack Overflow用户
提问于 2018-07-24 14:59:36
回答 2查看 31关注 0票数 0

我正在尝试使用ajax从警报按钮中删除记录,但什么也没做。这是到目前为止我所拥有的按钮

代码语言:javascript
运行
复制
<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">&times;</span></button>

app.js

代码语言:javascript
运行
复制
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');
            },
    });
});

});

和我的控制器操作

代码语言:javascript
运行
复制
public function postDeleteAnnouncement ($announcement_id)
{
    $user = \Sentinel::getUser();
    $member = $user->member;

    $member->announcements()->detach($announcement_id);
}

任何帮助都是非常感谢的。

这是路线代码

代码语言:javascript
运行
复制
Route::post('/announcement/{id}/delete', ['uses' => 'SiteController@postDeleteAnnouncement', 'as' => 'postDeleteAnnouncement']);
EN

回答 2

Stack Overflow用户

发布于 2018-07-24 15:18:15

你发布CSRF令牌了吗?是这个表单还是仅仅是按钮?

代码语言:javascript
运行
复制
var _token = $("input[name='_token']").val();

并与其他数据一起传递。

代码语言:javascript
运行
复制
data: { _token:_token , etc:etc }

值得一试

票数 0
EN

Stack Overflow用户

发布于 2018-07-24 15:22:13

ajax请求中缺少CSRF令牌,这对于每个post类型请求都是必需的。像这样使用它:

代码语言:javascript
运行
复制
$.ajax({
...
method: 'post',
headers: {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
...
});

在刀片式视图中,使用:

代码语言:javascript
运行
复制
<meta name="csrf-token" content="{{ csrf_token() }}">

Reference

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51492372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档