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,是为啥呢

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

文档中辅助函数route的第二个参数是键值对的数组,我建议你先试着修正一下你的第二个参数试一下。

这一行,

url: "{{ route('usertestsfav.destroy', [$isfav['id']]) }}",

我为了严谨一点,去追踪了一下源码。

route方法的第二个参数$parameters需要看一下,就跳转到toRoute

file

然后现在要看的就是formatParameters方法
file

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

4年前 评论
wongvio (楼主) 4年前
L学习不停 (作者) 4年前
L学习不停 (作者) 4年前

我重写了一次,用了别的写法,已经正常了,问题还要再摸索

4年前 评论

在前台打印 url: "{{ route('usertestsfav.destroy', [$isfav['id']]) }}", 看下这里的URL是否生成了,我估计这里不对,应该没有生效; 在AJAX外定义一个变量现存下URL,然后在使用吧

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!