gpt4 book ai didi

javascript - Laravel5 ajax 删除不起作用

转载 作者:行者123 更新时间:2023-11-30 09:41:56 25 4
gpt4 key购买 nike

我正在开发一个项目,我应该使用 ajaxusers 表中删除用户。我一直在寻找多种解决方案,但无论如何它根本行不通。这是我收到的错误:

Failed to load resource: the server responded with a status of 500 (Internal Server Error).

TokenMismatchException in VerifyCsrfToken.php line 46

JS:

$('.btn-delete').click(function(){
var id = $(this).val();
$.ajax({
type: 'DELETE',
url: '/laravel-exercise/public/index/'+id,
success: function (data) {
console.log('Success:', data);
},
error: function (data) {
console.log('Error:', data);
}
});
});

查看:

<button class="btn btn-danger btn-delete"
value="{{$user->id}}" data-token="{{ csrf_token() }}">Delete</button>

路线:

Route::delete('index/{$id}', 'UsersController@destroy');

用户 Controller :

public function destroy($id)
{
$user = User::findOrFail($id);
$user->delete();

return view('pages.index')->with([
'flash_message' => 'The user has been deleted.',
'flash_message_important' => 'true',
]);
}

这里出了什么问题?

最佳答案

可能是由于 CSRF 保护。

在绑定(bind)按钮点击之前尝试添加'X-CSRF-TOKEN'

$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});

$('.btn-delete').click(function(){
var id = $(this).val();
$.ajax({
type: 'DELETE',
url: '/laravel-exercise/public/index/'+id,
success: function (data) {
console.log('Success:', data);
},
error: function (data) {
console.log('Error:', data);
}
});
});

将 CSRF token 添加到您的请求中。

看看here有关信息。

路线已找到,否则我将捕获 404 异常。

编辑

看看您如何制作按钮,您还可以使用 post 请求,但传递 _method 数据。

HTML:

<button class="btn btn-danger btn-delete" value="{{$user->id}}"
data-token="{{ csrf_token() }}">Delete</button>

Javascript:

$('.btn-delete').click(function(){
var token = $(this).data('token');
var id = $(this).val();

$.ajax({
url: '/laravel-exercise/public/index/'+id,
type: 'post',
data: {_method: 'delete', _token :token},
success: function (data) {
console.log('Success:', data);
},
error: function (data) {
console.log('Error:', data);
}
});
});

关于javascript - Laravel5 ajax 删除不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40716637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com