我正在研究如何在更新记录时使用来自资源的数据动态更新 AJAX 配置。DjangoREST要求id在url的末尾,并且request方法必须是PUT类型
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。
1条答案
按热度按时间aemubtdh1#
我花了一些时间来弄清楚如何更新Datatable Editor插件发出的 AJAX 请求。我使用Django Rest作为后端。这可能对一些寻找类似答案的人有用。
从技术上讲,如果编辑器对象在发送请求之前使用preSubmit事件,则可以更新 AJAX 选项。
这将在编辑请求发送之前更新 AJAX 配置。Django Rest期望PUT请求和记录的id被添加到URL的末尾。正如你所看到的,我们从数据对象中获取id(它是www.example.com对象的第一个键request.data),我们也可以将请求的类型更改为PUT。