如何在Laravel 6中使用Ajax删除没有表单的项



我想在Laravel 6中使用Ajax的表单删除一个项目在我的路线上我有

Route::group(['middleware' => 'auth'], function() { 
Route::get('/dashboard/desfazer-importe', 'DeleteImportController@index')->middleware('auth');
Route::delete('/dashboard/desfazer-importe/{id}', 'DeleteImportController@destroy')->middleware('auth');
});

我的观点我有

div class="modal-body">    
<h5>Deseja realmente desfazer esta importação?</h5>
<input type="hidden" value="<?php $portal_id ?>" id="portal_id">  
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>
<button type="button" class="btn btn-primary" id="delete" data-token="">Desfazer</button>
</div>  

我通过输入隐藏的获取id

在Ajax中,我有以下代码

function deleteImport()
{
$('#delete').click(function() {
let porta_id = $('#portal_id').val() 
$(this).prop("disabled",true);
$.ajax({
type: 'DELETE',
url: '/dashboard/desfazer-importe',       
data: {
"id": porta_id,  
}, 
success: function(response) {
console.log(response)
},
error: function(error) {
console.log(error)
}
})
})
}

它可能在不使用表单操作的情况下删除项目?我发送时收到此消息

message: "CSRF token mismatch."

您必须在请求中添加csrf令牌:https://laravel.com/docs/7.x/csrf#csrf-x-csrf-token

看起来你还有另一个问题。您必须将您的物品ID添加到url中。/dashboard/desfazer-importe/{id}

最新更新