Ajax 无法删除是为啥~
blade
$('.unwant').click(function() {
$.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}});
$.ajax({
url: "{{ route('usertestsfav.destroy', [$isfav['id']]) }}",
type: "DELETE",
success:function(data){
if(data['status'] == 'success') {
$('.iswant i').removeClass('fas text-warning');
$('.iswant i').addClass('far');
}
}
})
});
route
Route::resource('/usertestsfav', 'UserTestFavsController', ['only' => ['store', 'destroy']]);
controller
public function destroy(UserTestFav $usertestfav)
{
if($usertestfav->delete()) {
return response()->json(["status"=>"success"])->setStatusCode(201);
} else {
dd($usertestfav->delete());
}
}
结果是null,是为啥呢
文档中辅助函数route的第二个参数是键值对的数组,我建议你先试着修正一下你的第二个参数试一下。
这一行,
我为了严谨一点,去追踪了一下源码。
route方法的第二个参数$parameters需要看一下,就跳转到toRoute
然后现在要看的就是formatParameters方法

在formatParameters方法里参数$parameters做了k/v的处理

我重写了一次,用了别的写法,已经正常了,问题还要再摸索
在前台打印 url: "{{ route('usertestsfav.destroy', [$isfav['id']]) }}", 看下这里的URL是否生成了,我估计这里不对,应该没有生效; 在AJAX外定义一个变量现存下URL,然后在使用吧