无法在Laravel 5.5中向资源控制器销毁功能发送id

时间:2017-12-15 16:52:55

标签: php jquery ajax laravel

url:"URL::route('students.destroy')"

我有这个代码在确认后通过对话框删除学生。我想发送学生的id来销毁学生控制器的功能(工作正常,我已经通过删除没有对话框的学生检查了)。我也尝试了url:"URL::to('/students/')" $count = 9; $items = $order->get_items(); for ($i=0; $i < $count ; $i++) { foreach ($items as $item) { do_action(); } } ,但没有任何效果。通过检查, this error is coming请帮忙,欢迎任何类型的删除学生的建议,但对话框必须......:)

2 个答案:

答案 0 :(得分:0)

BTW:方法:&#34; DELETE&#34;必须在第一个ajax函数参数的第一个节点中,所以你不需要表单方法欺骗(https://laravel.com/docs/5.5/routing#form-method-spoofing

$.ajax({
         method: "DELETE",
         data:{...},
         ...

路线助手功能需要学生模型实例的ID:

{{ route('students.destroy', [$student->id]) }}

但仅限于Blade文件,因此您可以将php语法与HTML / JS或其他任何内容混合使用

(我真的不喜欢Blade中的这个JS,但有时候对于非常本地的独特&#34;问题&#34;它是最快的解决方案,希望&#34;剪切和干燥&#34;)

答案 1 :(得分:0)

对于删除操作,将id作为url param传递而不是发布数据,并将url作为普通url传递并将id传递给它。

var id = $(this).data('studentId');

$.ajax({
    type: "POST",
    data: {
        _method: "DELETE",
    },
    url: '/students/destroy/'+id,
    success: function(result) {
        alert('ok');
    },
    error: function(result) {
        alert('error');
    }
});