AJAX ответ создать кнопку удаления Laravel - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть ответ ajax:

$.ajax({
            method: 'POST', 
            url: '/admin/lessons/addMember/licenseMemberId',
            data: {'licenseMemberId' : id},
            success: function(response){ 

                if ($.trim(response)) {

                    $('#no_members').hide();
                    var div1 = document.createElement('div');
                    div1.setAttribute('class','table-responsive');
                    $('#space').append(div1);
                    var actualMembers = document.createElement('table');
                    actualMembers.setAttribute('class','table');
                    div1.append(actualMembers);


                    var newRow = actualMembers.insertRow(actualMembers.length);
                    id = newRow.insertCell(0);
                    id.innerHTML = response['user_saved']['id'];
                    firstname = newRow.insertCell(2);
                    firstname.innerHTML = response['user_saved']['firstname'];
                    lastname = newRow.insertCell(3);
                    lastname.innerHTML = response['user_saved']['lastname'];

                    id = newRow.insertCell(7);
                    var llmId=response['llm']['id'];
                    id.innerHTML = "<form class=delete action='{{ route('lessons.removeMember', ['licenseMemberId' => '" + llmId + "']) }}' method='POST'><input type='hidden' name='_token' value='<?php echo csrf_token(); ?>'><input type='hidden' name='method' value='DELETE'><button class='btn btn-danger btn-xs btn-delete' > <i class='fa fa-trash-o' title='{{__('lesson.remove_member_from_lesson')}}'></i> </button> </form>";

                $('#membersModal').modal('hide');

            },
            error: function(jqXHR, textStatus, errorThrown) { // What to do if we fail
                console.log(JSON.stringify(jqXHR));
                console.log("AJAX error: " + textStatus + ' : ' + errorThrown);
            }
        });

В этом методе я создаю новую таблицу и ставлю новую строку для каждого элемента, который выбираю в модальном режиме.Проблема в том, что форма и кнопка удаления (id var) создаются правильно, но когда я нажимаю эту кнопку, laravel возвращает мне исключение MethodNotAllowedHttpException.Я думаю, что мне нужно отправить метод DELETE другим способом, но я не знаю как.

Это метод addMember в контроллере laravel:

public function addMember(Request $request)
    {

        $lessonLicenseMember=new LessonLicenseMember();
        $lessonId = $request->session()->get('lessonId',1);
        $maxMembers=Lesson::find($lessonId)->course->type->max_members;
          $actualMembers=$lessonLicenseMember::where('lesson_id','=',$lessonId)->count();


        if((!($lessonLicenseMember::where('lesson_id','=',$lessonId)
            ->where('license_member_id','=',$request->licenseMemberId)
            ->exists())) && $actualMembers<$maxMembers) {

            $lessonLicenseMember->lesson_id = $lessonId;
            $lessonLicenseMember->license_member_id = $request->licenseMemberId;
            $lessonLicenseMember->save();

            $member=LicenseMember::find($request->licenseMemberId)->member;


             return response()->json([ 'user_saved' => $member ,'llm'=>$lessonLicenseMember,'actualMembers'=>$actualMembers]); 
        }
        else{
            return null;
        }

    }

1 Ответ

0 голосов
/ 20 ноября 2018

Проверьте ваши маршруты, если метод POST, потому что вы получите ошибку MethodNotAllowedHttpException, только если метод не совпадает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...