【问题标题】:Ajax post form dataAjax 发布表单数据
【发布时间】:2013-09-13 12:00:44
【问题描述】:

我有以下表格

<form id="reportcriteriaform">
   <div id="reportdialog_dialog" title="New Report" link="/newreport" class="modal show fade in" style="overflow:hidden;text-align:center;" aria-hidden="false">
      <div class="modal-header">
         WI's Resolved Report
      </div>
      <div class="modal-body">
         <div class="row-fluid">
            <div class="span6">
               <!-- Main report criteria fields go here -->            
               <div id="reportStartDate_row" class="control-group text-left">
                  <label class="control-label bold" for="reportStartDate"> <label for="reportStartDate">Start Date</label> </label> 
                  <div class="controls">
                     <div class="input-append date datepicker control-group" data-date-format="dd-M-yyyy">     
                        <input type="text" id="reportStartDate" name="reportStartDate" data-date-format="dd-M-yyyy" bs-datepicker="" class="input-large" value="">
                        <span class="add-on"><i class="icon-th" id="fromBtn"></i></span>
                     </div>
                  </div>
               </div>
               <div id="reportEndDate_row" class="control-group text-left">
                  <label class="control-label bold" for="reportEndDate"> <label for="reportEndDate">End Date</label> </label> 
                  <div class="controls">
                     <div class="input-append date datepicker control-group" data-date-format="dd-M-yyyy">     
                        <input type="text" id="reportEndDate" name="reportEndDate" data-date-format="dd-M-yyyy" bs-datepicker="" class="input-large" value="">
                        <span class="add-on"><i class="icon-th" id="fromBtn"></i></span>
                     </div>
                  </div>
               </div>
               <!-- Maultiselect box goes here -->                     
            </div>
            <div class="span6">
               <p>
                  <button type="button" name="runQuery" id="runQuery" class="btn btn-mini btn-primary " value="">Run Query</button>
               </p>
               <p>
                  <button type="button" name="close" id="close" class="btn btn-mini btn-primary " value="">Close</button>
               </p>
            </div>
         </div>
      </div>
   </div>
</form>

当我使用以下 ajax 调用提交它时,我在 request.data 或 request.form 中看不到任何数据

$.ajax({
    url: '/newreport',
            type:'POST',
    data:$('#reportcriteriaform').serialize(),  
    dataType: 'text/html',             
    success: function(data) {
                       //   Success stuff           
        }
});

newreport.py

from flask import render_template, request, session
    def post(self):
            request.data //This is empty string
            request.form //This is empty dictionary

            #Other stuff

【问题讨论】:

  • 你检查 $('#reportcriteriaform').serialize() 的内容了吗?
  • $.ajax 例程是否与表单在同一页面上?在将序列化数据分配给 AJAX 调用的 data 属性之前,将其分配给变量被认为是更好的形式。您是否使用了任何可能失败的表单验证?
  • 成功函数你再次使用数据变量?
  • 我的应用程序中没有客户端验证。我检查了 $('#reportcriteriaform').serialize() 的内容,尽管当我检查 $('# reportcriteriaform') 我在子元素中看到值

标签: ajax forms jquery post form-data


【解决方案1】:

在 ajax 调用中 它应该喜欢

type:'POST'

您缺少引号。

并且还根据标准数据类型将数据类型称为"text/html"。(虽然不会引起问题,但是按照标准规范保持代码的良好做法)

【讨论】:

  • 试过这个......没有帮助..我现在也用这个更新了这个问题
  • 我的应用程序中没有客户端验证。我检查了 $('#reportcriteriaform').serialize() 的内容,虽然当我检查 $('# reportcriteriaform') 我在子元素中看到值
猜你喜欢
  • 2015-10-10
  • 1970-01-01
  • 2021-01-17
  • 2016-11-02
  • 1970-01-01
  • 1970-01-01
  • 2021-02-24
  • 1970-01-01
  • 2021-03-30
相关资源
最近更新 更多