【发布时间】:2017-11-04 23:14:02
【问题描述】:
我尝试在 Laravel 中创建一个 ajax 删除功能。
我不知道为什么它不起作用...没有错误但什么也没发生 - 感谢您的帮助!
我的路线:
Route::post('/deleteWithAjax', 'eventController@deleteWithAjax');
我的删除按钮:
<button value="{{$event->id}}" class="btn btn-danger btn-dell">Delete</button>
我的javascript:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$(document).ready(function(){
$('document').on('click', '.btn-dell', function() {
var id = $(this).val();
var el = $('#{{$event->id}}');
$.ajax({
type: 'post',
url: "deleteWithAjax",
data: {
'id': id
},
success:function(data){
el.remove();
}
})
})
});
我的控制器方法:
public function deleteWithAjax(Request $r){
eventModel::find ( $r->id )->delete();
return response()->json();
}
我要删除的元素是一个div:
<div id="{{$event->id}}">
编辑**
我更改了事件处理程序
document.getElementById("btn-dell").onclick = function()
现在它被触发了 - 但我在控制台中收到一个错误,后端仍然没有被调用:
POST http://wt-projekt.test/index.php/deleteWithAjax 419 (unknown status)
send @ app.js:29
ajax @ app.js:29
document.getElementById.onclick @ home:50
【问题讨论】:
-
不发图片,发代码
-
是的,抱歉,感谢您的评论!这是我的第一个问题,不知道有更好的方法。
-
你的后端代码会被调用吗?
-
我只是测试了它-根本没有调用后端代码。
-
您是否在点击处理程序中添加了一个 console.log 以查看它是否正在触发?