Jquery 当我使用复选框发出ajax删除请求时,view函数中会出现错误
当我使用复选框发出ajax删除请求时 view函数中出现错误 我不知道为什么 谢谢你让我知道 错误:Jquery 当我使用复选框发出ajax删除请求时,view函数中会出现错误,jquery,ajax,django,view,Jquery,Ajax,Django,View,当我使用复选框发出ajax删除请求时 view函数中出现错误 我不知道为什么 谢谢你让我知道 错误: Traceback (most recent call last): File "C:\django_inflearn2\venv\lib\site-packages\django\core\handlers\exception.py", line 34, in inner response = get_response(request) File "C:\django_infl
Traceback (most recent call last):
File "C:\django_inflearn2\venv\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
response = get_response(request)
File "C:\django_inflearn2\venv\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "C:\django_inflearn2\venv\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\django_inflearn2\todo\views.py", line 23, in todo_delete_ajax
todo_ids = request.POST['todo_arr']
File "C:\django_inflearn2\venv\lib\site-packages\django\utils\datastructures.py", line 80, in __getitem__
raise MultiValueDictKeyError(key)
django.utils.datastructures.MultiValueDictKeyError: 'todo_arr'
代码如下
jquery、ajax
$('#todo_delete_button').click(function(e){
e.preventDefault();
// todo_check
var todo_arr = [];
alert("삭제 버튼 ")
// Get checked checkboxes
$('.td_check').each(function() {
if (jQuery(this).is(":checked")) {
var id = this.id;
todo_arr.push(id);
}
});
alert('todo_arr : '+ todo_arr)
$.ajax({
type: "POST",
url: 'todo_delete_ajax/',
data: {
todo_arr:todo_arr,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
success: function(result) {
alert('todo_delete_ajax is success ');
}
});
})
网址
看法
jQueryAjax的格式是否错误
url模式是否错误
参数值设置是否不正确
视图函数是否错误
如果您能告诉我如何修复它,谢谢。数据是一个字典,“待办事项”是多值的。您可能需要执行JSON.stringify()才能使其正常工作
path('status/',views.todo_status_list, name ="todo_status_list"),
def todo_delete_ajax(request):
# print("request " , request )
todo_ids = request.POST['todo_arr']
print("todo_ids : ", todo_ids)
return redirect('/todo/')