Json 通过AJAX向Django视图发送表单数据时出错

Json 通过AJAX向Django视图发送表单数据时出错,json,django,ajax,Json,Django,Ajax,我有一个HTML表单,它接受用户的输入。单击submit按钮后,表单数据需要通过AJAX以JSON格式发送到views.py。我尝试了一些东西,但是我得到了一个错误,JSON对象必须是str,而不是'NoneType'。JSON数据通过以下方式加载到views.py中: form = json.loads(request.POST.get('form')) 数据以名为“searchdata”的字典的形式返回。 表格: <form method="POST" id="inputForm"&

我有一个HTML表单,它接受用户的输入。单击submit按钮后,表单数据需要通过AJAX以JSON格式发送到views.py。我尝试了一些东西,但是我得到了一个错误,JSON对象必须是str,而不是'NoneType'。JSON数据通过以下方式加载到views.py中:

form = json.loads(request.POST.get('form'))
数据以名为“searchdata”的字典的形式返回。 表格:

<form method="POST" id="inputForm">
<div class="container" style="margin-bottom: 50px;width:100%">
  <div class="container-fluid mt-3">

    <div class="card" id="statform">
        <div class="card-header">
          <div class="card-title">
            <div style="font-size: 25px">Filter</div>
          </div>
        </div>
        <br>
      <div class="card-body">
        <div class="row">
          <div class="col-xs-6">
              <div class="col-xs-6">
                    <label name="start_date" class="control-label" style="width:35%">Start date</label>
                    <input type="date" id="start_date" style="color:black;width:100px" ></input>
                </div>
          </div>
          <div class="col-xs-6">
              <label name="end_date" class="control-label" style="width:35%">End Date(Default: Current Date)</label>
              <input style="color:black;width:100px" id="end_date" type="date"></input>

          </div> 
        </div>
        <br>
        <div class="row">
          <div class="col-xs-6">
             <label name="fruit_name" class="control-label"  style="width:35%; padding-left:15px">Select a Fruit</label>
              <select class="js-example-placeholder-single1 js-example-basic-multiple form-control" id="fruit_name" placeholder="Select" style="width:210px" multiple="multiple"> 
              </select>
          </div>
          <div class="col-xs-6">
              <label name="vendor_test" class="control-label" style="width:35%">Select Vendor_TEST</label>
              <select class="js-example-placeholder-single2 js-example-basic-multiple form-control" style="width:210px" id="vendor_test" multiple="multiple">

              </select>             
          </div> 
        </div>
        <div class="row">
          <div class="col-xs-6">
             <label name="release_version" class="control-label" style="width:35%; padding-left:15px">Select Release version</label>
              <select class="js-example-placeholder-single3 js-example-basic-multiple form-control" style="width:210px" id="release_version" multiple="multiple">   
              </select>
          </div>
          <div class="col-xs-6">
              <label class="control-label" style="width:35%">Error Message</label>
              <input type="text" placeholder="Type message here" style="width:210px">             
          </div>
        </div>
        <div class="row">
          <div class="col-xs-6">
             <label class="control-label" style="width:35%; padding-left:15px">Error Message List</label>
              <select class="js-example-placeholder-single4 js-example-basic-multiple form-control" style="width:210px" id = "error_message" multiple="multiple">

              </select>
          </div>
        </div> 
        <div class="text-center">
                <button class="btn btn-md btn-default" type="submit" name="search" value="search" onclick="loadResults()">
                    <i class="fa fa-arrow-circle-right"></i> Submit
                </button>
                <button class="btn btn-md btn-default" type="reset" name="searchreset" value="reset">
                    <i class="fa fa-arrow-circle-right"></i> Reset
                </button>
           </div>
      </div>

    </div> <!--form-->
  </div> <!-- row -->

</div> <!--container main-->
</form> 

我哪里做错了?非常感谢您的帮助。

如果您使用
console.log(JSON.stringify(formdata))
,您是否有数据?把你的表格贴在图希·尤甘达尔身上。它显示一个空字符串作为输出。我也用form.Thank更新了这个问题。使用这个
var formData=new formData(document.querySelector('#inputForm'))
同样的东西。同样的什么空白表单数据或django错误?
$.ajax({
                url : window.location.href,
                type : 'POST',
                cache : false,
                data:{form:JSON.stringify(formdata)},
                success:function(res){
                    if(typeof res.searchdata != 'undefined'){
                        self.$dispatch('searchdataevent',res.searchdata);
                    }
                    if(typeof res.message != 'undefined'){
                        self.message = res.message;
                    }
                     self.loading = false;
                },
                error : function(err){
                    self.message = 'Error communicating with server';
                    self.loading = false;
                }
            });