如何通过Ajax将多个数据字段发送到php页面?

时间:2018-12-19 22:44:53

标签: javascript php jquery ajax

我有问题,我想使用Ajax将2个帖子发送到我的作者php页面

那是我的代码:

$.ajax({
type: "POST",
url: "includes/get_competitions.php",
data:'sport=<?php echo $_GET['sports']; ?>',
success: function(data){
    $("#competitions-list").html(data);
}

这就是我想要做的:

$.ajax({
type: "POST",
url: "includes/get_competitions.php",
data:'sport1=<?php echo $_GET['sports1']; ?>, sport2=<?php echo $_GET['sports2']; ?>',
success: function(data){
    $("#competitions-list").html(data);
}

但是没有用

2 个答案:

答案 0 :(得分:0)

您可以尝试

data: $('#myForm').serialize()   <---- your form name

这将发送所有表单数据

答案 1 :(得分:0)

数据字符串中的多个参数用&而不是,分隔(就像URL中参数的语法一样)。

但是,如果您使用的是jQuery,则最好使用一个对象。 $.ajax会自动将其转换为正确编码的查询字符串。然后,您可以使用json_encode()将PHP值转换为相应的JavaScript文字。

$.ajax({
    type: "POST",
    url: "includes/get_competitions.php",
    data: {
        sport1: <?php echo json_encode($_GET['sports1']); ?>, 
        sport2: <?php echo json_encode($_GET['sports2']); ?>
    },
    success: function(data){
        $("#competitions-list").html(data);
}

您还可以制作一个sports数组,而不是对参数进行编号。

$.ajax({
    type: "POST",
    url: "includes/get_competitions.php",
    data: {
        sports: [<?php echo json_encode($_GET['sports1']); ?>, 
                 <?php echo json_encode($_GET['sports2']); ?>]
    },
    success: function(data){
        $("#competitions-list").html(data);
}

然后get_competitions.php中的$_POST['sports']将是一个数组。