Ajax表单提交流程不正确

时间:2015-10-09 04:27:24

标签: javascript php jquery ajax

我在提交触发器时提交表单。我怎么都无法创建用户记录。我告诉你代码。

<form method="POST" id="form_1" action="../api.php" enctype="multipart/form-data" novalidate="novalidate">
  <input type="text" name="name" id="name" value="Amy" readonly="readonly">
  <input id="fileBox" class="fileUpload" type="file" name="img" accept="image/*" required>
  <input type="hidden" name="isSubmit" value="1"/>
</form>

<a id="btnSubmit" href="javascript:void(0)">Submit</a>

在js文件中:

$('#form_1').submit(function(){
  var formData = new FormData((this)[0]);

  $.ajax({
    type: "POST",
    url: "../../api.php",
    data: { action: "isSubmit",  formData: formData},
    processData:false,
    contentType:false,
    success: function(data){
      $("#thankyou").show();
    }
  })
  return false;
});

$("#btnSubmit").click(function(){
  var name = $("#name").val();
  $.ajax({
    type: "POST",
    url: "../../api.php",
    data: { action: "checkInputData",  name: name}
  })
    .done(function(data){
    data = $.parseJSON(data);
    if ( data.status == 0 ){
      $('#form_1').trigger('submit');               
    }

api.php:

if( $action == "isSubmit"){
  $name= isset($_POST["name"])?$_POST["name"]:null; 
  createUser($conn, $name);
}

我发现提交的流程不正确。 以上代码的流程是当我触发提交然后落入成功显示thankyou div,但没有创建用户记录。

但是如果我在ajax中删除了“return false”,则流程将变为:触发提交然后落入成功显示thankyou div然后重定向到api.php然后完成。在这种情况下,我可以创建用户记录。

我的目标结果应该是我触发提交然后落入成功显示thankyou div并创建用户记录。我怎样才能做到这一点?有没有“返回虚假”之间的差异是什么。

0 个答案:

没有答案