如何使用ajax向php发送多个参数

时间:2015-09-30 07:32:21

标签: php ajax

这里我试图通过ajax向php页面发送多个变量值。

这里我调用javascript函数从表单中获取值并将值提交给ajax。在JavaScript中我从表单中获取多个值。现在我想将所有这些值传递给php页面。

我怎样才能实现这一目标?

这就是我所做的。

function sendInvite(){  
    var from_name = document.getElementById('invite_username').value;
    var name_string = 'invitename='+ from_name;

    var email = document.getElementById('friendemail').value;
    var mail_string = 'friendemail='+ email;    

    var product_name = document.getElementById('invite_productname').value;
    var product_string = 'invite-product-name='+ product_name;

    var product_link = document.getElementById('invite_url').value;
    var link_string = 'invite-url='+ product_link  ;    
    $.ajax({
        type : "post",
        url : "legoland.php",
        data: name_string,mail_string,
        cache:false,
        success : function(html){
            $('.mail-message').html(html);
        }
    });
}

HTML:

<form name="invite-form">              
    <div class="col-md-4 col-lg-4">
         <label class="control-label" for="friend">Enter email address</label>              
         <input type="email" class="form-control" name="friendemail" id="friendemail" placeholder="sam@uncle.com" required><br>                                
         <?php 
         echo '<input type="hidden" id="invite_username" name="invitename" value="' . $_SESSION["user_name"] . '">' ;                 
         echo '<input type="hidden" id="invite_url" name="invite-url" value="'.$_SERVER['REQUEST_URI'].'">';
         echo '<input type="hidden" id="invite_productname" class="invite-product" name="invite-product-name">';
         ?>
         <input type="button" name="submit" onclick="return sendInvite();" value="Invite" class="btn btn-primary">
     </div>            
</form>

PHP:

 <?php 
    $name = $_POST['invitename'];
    $mail = $_POST['friendemail'];  
    $product_name = $_POST['invite-product-name'];  
    $product_link = $_POST['invite-url'];   

    echo $name;
    echo $mail;
    echo $product_name;
    echo $product_link;
?>

1 个答案:

答案 0 :(得分:0)

来自手册:

  

数据   键入:PlainObject或String或Array   要发送到服务器的数据。如果不是字符串,它将转换为查询字符串。它附加到GET请求的URL。请参阅processData选项以防止此自动处理。对象必须是键/值对。如果value是一个数组,jQuery会根据传统设置的值使用相同的键序列化多个值(如下所述)。

所以最简单的就是将数据更改为

data: { invitename: from_name, friendemail: email }

您也可以直接将值分配给数据变量

 data: { 
    invitename: document.getElementById('invite_username').value, 
    friendemail: document.getElementById('friendemail').value 
 }