我正在尝试将带有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”中检查了数组的值是否正确设置。可能是什么问题呢?你能解释一下如何传递数组吗?我在网上搜索但我没有找到任何东西。
答案 0 :(得分:0)
目前你的params被传递为“aux”和“aux2”,而不是你在PHP中设置的“aux [0]”。如果它是一个简单的数组,我建议只使用分隔符,所以将输入与任何符号分开,然后将其爆炸,看起来确实可以在你的例子中完成。