使用JQuery在javascript中通过1个动作提交两种形式

问题描述

|| 因此,这有点复杂。我有一个表格,需要将结果提交到两个不同的地方。 首先是ajax调用,我将结果发送到PHP页面。第二步是照常提交表单。 这是我的JavaScript:
<script type=\"text/javascript\">

  $(function() {
    $(\"#requestaction\").click(function() {
      var fname = $(\"input#first_name\").val();
      var lname = $(\"input#last_name\").val();
      var email = $(\"input#email\").val();
      var phone = $(\"input#phone\").val();
      var oid = $(\"input#oid\").val();
      var retURL = $(\"input#retURL\").val();

      var dataString = \'&email=\' + email + \'&phone=\' + phone + \'&oid=\' + oid + \'&retURL=\' + retURL;
      //alert (dataString);return false;
      $.ajax({
          type: \"POST\",url: \"http://www.myurl.com/custom/callgateway.php?first_name=\" + fname + \"&last_name=\" + lname,data: dataString
      });

      $(\"#requestaction\").click(function() {
          $(\"#oid\").delay(1000);
          $(\"#nashform\").submit();
      });

    return false;
    });

  });
    </script>
所以我想发生的事情是ajax调用将结果发送到该页面。然后,我想延迟几秒钟,或者直到完成为止需要多长时间,我希望提交具有#nashform ID的表单。看来我可以使两者分别发生,但是当我同时尝试此代码时-仅#nashform代码完全通过,因此ajax永远没有机会。 有什么建议么?     

解决方法

        将表单提交放入ajax调用的成功回调中:
$.ajax({
    type: \"POST\",url: \"http://www.myurl.com/custom/callgateway.php?first_name=\" + fname + \"&last_name=\" + lname,data: dataString,success: function(response) { $(\"#nashform\").submit(); }
    });
    ,        
$.ajax({
type: \"POST\",success: thesubmitfunction
});
在ajax调用成功完成后,将在
thesubmitfunction
中提交表单提交。     ,        您需要一个回调函数来在
ajax()
返回后提交表单。     ,        而不是延迟,为什么不将ѭ5的提交添加到AJAX发布完成后进行的回调中?这样,您就不会在中间或后期削减AJAX传输。 您也可以考虑同时使用AJAX进行发布...两个都同时发布,一旦两者都完成,页面就可以更新(甚至重定向),给用户一种幻想,即数据是正常提交​​的。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...