Измените url редактирования, динамически используя Datatable Editor

Я ищу, как динамически обновлять конфигурацию ajax, используя данные из ресурса при обновлении записи. Django REST ожидает id в конце url и метод запроса должен быть типа PUT

Я потратил некоторое время, чтобы понять, как обновить ajax-запрос, выполняемый плагином Datatable Editor. Я использую Django Rest в качестве бэкенда. Это может быть полезно для тех, кто ищет похожий ответ.

Технически вы можете обновить параметры ajax в объекте редактора перед отправкой запроса, используя событие preSubmit Event.

    editor.on('preSubmit', (e, request,) =>{
        let _url = new URL(window.location.origin + "/" + editor.ajax().url)

        if(request.action == 'edit'){
            editor.ajax().url = `${_url.protocol}//${_url.host}/api/v1/some-endpoint/${Object.keys(request.data)[0]}/${_url.search}`;
            editor.ajax().type = 'PUT'
        }

        editor.ajax().data = request.data[Object.keys(request.data)]

    })

Это обновит ajax-конфигурацию запроса на редактирование прямо перед его отправкой. Django Rest ожидает PUT запрос и id записи, который должен быть добавлен в конце URL. Как вы можете видеть, мы берем id из объекта data (это первый ключ объекта request.data), и мы также можем изменить тип запроса на PUT.

Вернуться на верх