通过jquery post传递表单数据

时间:2012-06-29 13:48:16

标签: php javascript jquery

我有一个表单,我需要做的是通过jquery .post将此表单数据传递到另一个页面,然后在下面找到javascript

    <script type="text/javascript">
$("form").submit(function(){
    $(".application_container").append('<div class="preloading" style="padding-top:250px;"><img src="<?php echo base_url() . "assets/images/loading.gif";?>" alt="تحميل" /></div>').show();
    var str = $("form").serialize();
    var url = "<?php echo base_url() . "hawaa/confirm_applicant.html"; ?>";
    $.post(url, function(str){
        $(".application_container").append(str).show();
        $(".preloading").remove();
    });
    return false;
});
   </script> 

其请求另一个页面但未将表单提交的数据发送给它的错误,因此显示验证错误

2 个答案:

答案 0 :(得分:4)

您错误地使用了$.post()。您需要将数据str作为数据参数传递,如下所示:

$.post(url, str, function(data, status, jqXHR) {
    // do stuff with response data here
});

答案 1 :(得分:3)

您必须将str变量作为第二个参数传递给$.post来电。 documentation表示:

  • 第一个参数是您要将数据发布到的网址
  • 第二个参数是您要发布的数据
  • 第三个参数是请求URL的结果(HTML或XML,具体取决于返回的内容)。

所以正确的方法是:

<script type="text/javascript">
  $("form").submit(function(){
    $(".application_container").append('<div class="preloading" style="padding-top:250px;"><img src="<?php echo base_url() . "assets/images/loading.gif";?>" alt="تحميل" /></div>').show();
    var str = $("form").serialize();
    var url = "<?php echo base_url() . "hawaa/confirm_applicant.html"; ?>";
    $.post(url, str, function(result){
      $(".application_container").append(result).show();
      $(".preloading").remove();
    });
    return false;
  });
</script>