如何通过jquery将表单数据传递给php

时间:2013-08-13 18:10:45

标签: php jquery

我有一些像这样的验证码 -

     if ($('#address').val()) {
            if ($('#address').val().length > 60 || $('#address').val().length < 5)  { 
                errorMessage  += "Length of Your Address must be between 5 and 60.\n";
                valid = false;
          } else {
                var rege = /^[a-zA-Z]([0-9a-z_\s])+$/i;
                if(!rege.test($('#address').val())){ 
                         errorMessage  += "Please enter Valid Address.\n";
                         valid = false;
                } else {
                     var address = $('#address').val();
                     //alert ('My address is : ' + address);
                }
          } 
     } else { 
          errorMessage += "please enter your address\n";
          valid = false;
     } 

我的问题是我如何将此值传递给php。我的价值在这里 - var address = $('#address').val();

我需要在PHP中再次检查此值,并且需要在同一页面上回显该值。

我用它是这样的 -

     if( !valid && errorMessage.length > 0){
          alert(errorMessage);
     } else {
        $.ajax({
                type: "POST", // HTTP method POST or GET
                url: "demo2.php", //Where to make Ajax calls
                data: {
                     myname: name,
                     myaddress: address,
                     myemail: email
                }
        });    


     }  

demo2.php页面与我的表单相同。

在我的页面上方,我尝试打印$ _POST数组,但没有显示。

echo '<pre>', print_r( $_POST).'</pre>';

希望有人能帮助我。 谢谢。

2 个答案:

答案 0 :(得分:0)

首先检查demo2.php是否设置了POST

if( isset($_POST['myaddress']) ) {
  // your echo statement here
}

然后你只需要在jquery处理响应中添加一些代码。

if( !valid && errorMessage.length > 0){
  alert(errorMessage);
} else {
  $.ajax({
    type: "POST", // HTTP method POST or GET
    url: "demo2.php", //Where to make Ajax calls
    data: {
      myname: name,
      myaddress: address,
      myemail: email
    }
  }).done(function(response) {
    $('#address-display-div').html(response);
  });
}

#address-display-div替换为您要显示地址的选择器。

答案 1 :(得分:0)

请求页面:

var request =$.ajax({
        type: "POST",
        url: "demo2.php",
        data: {myname: name,myaddress: address,myemail: email}
        dataType: "json",
        success: function (a) {
            alert(a[0]);
        }
    }); 
    request.fail(function(jqXHR, textStatus){alert('Ajax Error: '+ textStatus);});

在你的php文件中:

<?php
    if(isset($_POST['myname']) && isset($_POST['myaddress']) && isset($_POST['myemail'])){
        [do your stuff]
        echo json_encode(array(0=>'<pre>'.print_r( $_POST,true).'</pre>'));
    }
    else
        echo json_encode(array(0=>'Missed Variable'));
    exit();
?>

否则你还可以发布你的php页面吗?