django 使用“数据表编辑器”动态更改编辑URL

bvjxkvbb  于 2023-02-06  发布在  Go
关注(0)|答案(1)|浏览(141)

我正在研究如何在更新记录时使用来自资源的数据动态更新 AJAX 配置。DjangoREST要求id在url的末尾,并且request方法必须是PUT类型

aemubtdh

aemubtdh1#

我花了一些时间来弄清楚如何更新Datatable Editor插件发出的 AJAX 请求。我使用Django Rest作为后端。这可能对一些寻找类似答案的人有用。
从技术上讲,如果编辑器对象在发送请求之前使用preSubmit事件,则可以更新 AJAX 选项。

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(它是www.example.com对象的第一个键request.data),我们也可以将请求的类型更改为PUT。

相关问题