如何使用ajax传递数组

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (1462)

正在尝试将带有ajax的数组传递给php页面。

我的代码js是:

 function funzione5(){ 
     var aux2=document.getElementById('f1').value; 

$.ajax({type: "POST",
            url: "AddMeeting.php", 
                data: {
                    'aux':aux,
                    'aux2':aux2,
                    'k':k

                }, 
                    success: {function(data){
                        console.log(data);
                    }

                                 },
        error: {function(){alert("Error");}} 
            }); 
 $('#modalMeeting').modal('hide');
 }

php页面是:

<?php
 if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest')
 {
   header("Location: Meetings.php");
   exit();
 }

 if(!isset($_COOKIE["id"]))
 {
   $json_data = array(
'draw'            => 0,
'recordsTotal'    => 0,
'recordsFiltered' => 0,
'data'            => [],
'error'           => 'Laravel Error Handler',
          );
                  $json = json_encode($json_data);
             echo $json;
        exit();
 }   



 include("DB.php"); //dati configurazione del database



$cont = mysqli_real_escape_string($connessione, $_POST["k"]);
                  $title = mysqli_real_escape_string($connessione, 
 $_POST["aux[0]"]);
             $date = mysqli_real_escape_string($connessione, 
$_POST["aux[1]"]);
        $place = mysqli_real_escape_string($connessione, $_POST["aux[2]"]);
   $topic = mysqli_real_escape_string($connessione, $_POST["aux[3]"]);
     $lat = mysqli_real_escape_string($connessione, $_POST["aux[4]"]);
   $lng = mysqli_real_escape_string($connessione, $_POST["aux[5]"]);

for($i=6;$i<$cont;$i++) 
 {  $part_id+$i = mysqli_real_escape_string($connessione, 
$_POST["aux[".$i."]"]);  }

     $card_id = mysqli_real_escape_string($connessione, $_POST["aux2"]);
$id2=$_COOKIE['id'];
     echo mysqli_error($connessione);


      $sql1=mysqli_query($connessione,"insert into meeting 
 (card_id,user_id,title,place,date,topic,lat,lng) values 
 ('$card_id','$id2','$title','$place','$date','$topic','$lat','$lng');");



   echo mysqli_error($connessione);
   $json_data = array(

                                "result" => 1
                         );
$json = json_encode($json_data);
echo $json;



 ?>

以这种方式传递数组是否正确?我在函数“funzione5”中检查了数组的值是否正确设置。可能是什么问题呢?你能解释一下如何传递数组吗?我在网上搜索但我没有找到任何东西。

提问于
用户回答回答于

目前你的params被传递为“aux”和“aux2”,而不是你在PHP中设置的“aux [0]”。如果它是一个简单的数组,我建议只使用一个分隔符,所以将输入与任何符号分开,然后将其拆开,看起来确实可以在你的例子中完成。

扫码关注云+社区

领取腾讯云代金券