动态

时间:2017-08-07 09:25:35

标签: javascript jquery ajax datatable django-rest-framework

问候,我的html中有一个数据表,当点击表行时,它将获取行的id并向我的REST API发送ajax请求以进行更新或删除所选行,其工作但是如果我尝试一次选择并更新或删除多行,比如说第1,4和6行会抛出和url错误,例如:

错误:PUT http://127.0.0.1:8000/dashboard/content_detail/1,4,6/ 404 (Not Found)

根据要求如何单独拆分网址? 例如:

PUT http://127.0.0.1:8000/dashboard/content_detail/1
PUT http://127.0.0.1:8000/dashboard/content_detail/4
PUT http://127.0.0.1:8000/dashboard/content_detail/6

以下是我的AJAX代码,任何帮助都非常感谢TQVM

        idSrc: 'id',
        ajax: {
            edit: {
                type: 'PUT',
                url: '/dashboard/content_detail/_id_/',
                data: function (content_data) {
                    var updated_data = {};
                    $.each(content_data.data, function (id, value) {
                        updated_data['search_type'] = searchid;
                        updated_data['project'] = projectid;
                        updated_data['description'] = value['description'];
                        updated_data['category'] = value['category'];
                        updated_data['name'] = value['name'];
                    });
                    return updated_data;
                },

                success: function () {
                    content_table.api().ajax.reload();
                }
            },
            remove: {
                type: 'DELETE',
                url: '/dashboard/content_detail/_id_/',
                data: function (content_data) {
                    var deleted_data = {};
                    $.each(content_data.data, function (id, value) {
                        deleted_data['id'] = id;
                    });
                    return deleted_data;
                },
                success: function () {
                    content_table.api().ajax.reload();
                }
            }
        },

1 个答案:

答案 0 :(得分:0)

在您的PUT请求中,将$(document).ready(function() { /** * Video element * @type {HTMLElement} */ var video = document.getElementById("my-video"); /** * Check if video can play, and play it */ video.addEventListener("canplay", function(){ video.play(); }); });视为字符串1,4,6,而不是数字。

在服务器端将字符串转换为字符数组,将这些数组元素转换为数字,您将获得数组,使用该数组更新数据库