首页 > 解决方案 > Django:尝试获取选中的复选框而不使用 AJAX 提交时显示“无值”

问题描述

我使用 django 编写了一个程序,通过使用 AJAX 检索所有选中的复选框而没有提交按钮,它没有抛出任何错误,但它显示“NO Value”。谁能检查并告诉我我做错了什么。

阿贾克斯:

<script>
                  $('.form-check-input').change(function(){ // checkbox1 change event
                  var checked_lists = [];
                  $(".form-check-input:checked").each(function() {
                      checked_list.push(this.value);
                  });
                  var formdata = new FormData();
                  $.ajax({
                          formdata.append('checked_list',checked_list)
                          formdata.append('csrfmiddlewaretoken',$('input[type=hidden]').val());
                          $.ajax({
                              url:"secondtableonDashboard", //replace with you url
                              method:'POST',
                              data:formdata,
                              enctype: 'application/x-www-form-urlencoded',
                              processData:false,
                              contentType:false,
                              success:function(data){

                                 alert("Display return data"+data)
                              },
                              error:function(error){
                                  alert(error.error)
                              }
                          });
                  });
                  });
            </script>

视图.py

def secondtableonDashboard(request):
    conn = pyodbc.connect('Driver={SQL Server};'
                          'Server=ABC\SQLEXPRESS;'
                          'Database=WebstartUI;'
                          'Trusted_Connection=yes;')

    cursor = conn.cursor()
    cursor.execute("select * from CustomerServer")
    result = cursor.fetchall()

    if request.method=='POST':
       user_list = request.getlist('checked_list')
       print(user_list)
    else:
       print("No Values")

html:

<td>
<div class="form-check form-switch">
 <input class="form-check-input" name="Servers[]" value="{{datas.ServerName}}" type="checkbox" id="flexSwitchCheckDefault">
 <label class="form-check-label" for="flexSwitchCheckDefault">
</div>
</td>

所以在这里我使用我的views.py,相同的功能将数据保存在复选框中并获取POST值。

用户界面: 我是一个

标签: djangoajax

解决方案


推荐阅读