我使用jquery DataTables 1.10.0在表上显示一些数据。这是我加载数据的方式:
var layer_data = $("#layer_data").DataTable({
"scrollX": true,
"aaData":whole_array,
"iDisplayLength": 10
});
其中whole_array是一个数组数组:
[Array[7], Array[7], Array[7]
每个数组都有不同的值:
0:"<button id="1" class="btn btn-info btn-sm _edit_save_btn" style="margin-bottom:5px;width:68px; background-color:#a7a3a3;border-color:#a7a3a3">Edit</button></br><button id="fid__1" class="btn btn-info btn-sm _add_save_btn" data-toggle="modal" data-target="#add_geometry" data-fid="afghanistan_test.1" style="background-color:#a7a3a3; border-color:#a7a3a3;margin-bottom:5px;width:68px;">Geometry</button></br><button id="fid__cancel__1" class="btn btn-info btn-sm _cancel_btn" style="margin-bottom:5px;width:68px; background-color:#a7a3a3;border-color:#a7a3a3">Cancel</button>"
1:"Afghanistan"
2:"Badakhshan"
3:...
我想要做的是在按钮点击时重绘/刷新表格。我读过有ajax requests方法可以做到这一点,但我认为这不是我的情况,因为数据来自于在页面加载时初始化的django视图。
答案 0 :(得分:1)
您希望使用类似JSONReponseMixin的内容,并让您的视图发送数据。
class MyView(JSONResponseMixin, AjaxResponseMixin , TemplateView):
def get_ajax(self, request, *args, **kwargs):
data = ['Country', 'Country']
return self.render_response(json.dumps(data))
当你从jquery ajax中查看它时,它只会发送回数据并生成html。
您也不能执行json并让视图返回仅包含表格的html并替换页面中的html。