我有包含图像路径的数组,
GenerateReport[0] ="../images/Desert1.jpg"
GenerateReport[1] ="../images/Desert2.jpg"
GenerateReport[2] ="../images/Desert3.jpg"
GenerateReport[3] ="../images/Desert4.jpg"
GenerateReport[4] ="../images/Desert5.jpg"
我正在尝试使用以下代码传递此数组,
$.ajax({
type: "POST",
url: "generatePdf.php",
data: {
genRep: "sample value"
},
success: function(data) {
alert(data);
console.log('getting '+data);
}
});
示例值成功传递,但是如何将数组传递给ajax并在另一个页面上使用?我尝试传递数组并使用下面的代码,但它无法正常工作
$data1 = $_REQUEST['genRep'];
echo "tested".$data1[0];
答案 0 :(得分:1)
尝试
genRep = [];
$.ajax({
type: "POST",
url: "generatePdf.php",
data: {
genRep: GenerateReport
},
success: function(data) {
alert(data);
console.log('getting '+data);
}
});
它会将您的数组发送为genRep
答案 1 :(得分:1)
尝试使用json对象。在对象中,您可以存储图像路径
var data=[]; // array
var data[0] = 'something';
var data[1] = 'something1';
var data = { 'name': name, 'email' : email, 'contact' : contact, 'type' : type, 'msg' : msg }; // object
$.ajax({
url : 'contact.php',
type : 'POST',
data : {contact:JSON.stringify(data)}, // for json object
data : {contact: data}, // for array
success : function (msg)
{
alert(msg);
}
})
<强> contact.php 强>
$info = $_POST['contact'];
$info = json_decode($info,true); // for json object
echo $info.name; // for json object
echo $info[0]; // will print something...
答案 2 :(得分:1)
$arr = array();
$arr[0] = "Mark Reed";
$arr[1] = "34";
$arr[2] = "Australia";
echo json_encode ($arr);
在php页面上使用它 并使用以下内容获取输出
success:function(msg){
id_numbers = JSON.parse(msg);
alert(id_numbers)
}
答案 3 :(得分:0)
尝试:
$.ajax({
url: "generatePdf.php",
type: 'POST',
data: form_data,
dataType:"json",
success: function(data) {
alert(data[0]);
}
在PHP方面,你会想要打印:
print json_encode($photos);
做出一些改变
print json_encode(array("photolist"=>$photos));
然后在服务器上,您可以通过以下方式访问它们:
data.photolist[0]; //First photo
答案 4 :(得分:0)
我已经测试过,这将绝对工作!
JS:
var GenerateReport = [];
GenerateReport[0] ="../images/Desert1.jpg";
GenerateReport[1] ="../images/Desert2.jpg";
GenerateReport[2] ="../images/Desert3.jpg";
GenerateReport[3] ="../images/Desert4.jpg";
GenerateReport[4] ="../images/Desert5.jpg";
$.ajax({
type: 'POST',
url: 'generatePdf.php',
data: 'image_array='+GenerateReport,
success: function(msg) {
alert(msg);
}
});
generatePdf.php :
<?php
$image_string = $_POST['image_array'];
$image_array = explode(",", $image_string);
print_r($image_array);
?>
然后你可以遍历 $ image_array 来获取值。
答案 5 :(得分:0)
试试这个
GenerateReport[0] ="../images/Desert1.jpg"
GenerateReport[1] ="../images/Desert2.jpg"
GenerateReport[2] ="../images/Desert3.jpg"
GenerateReport[3] ="../images/Desert4.jpg"
GenerateReport[4] ="../images/Desert5.jpg"
更正后的代码:
var imagedata = '';
$.each(GenerateReport,function(index,value))
{
if(imagedata=='')
{
imagedata = imagedata +'image'+index+'='+value;
}
else
{
imagedata = imagedata +'&image'+index+'='+value;
}
});
$.ajax({
type: "POST",
url: "generatePdf.php",
data: imagedata //pass string imagedata
success: function(data) {
alert(data);
console.log('getting '+data);
}
});
imagedata应该像这样刺痛:
image1 = .. / images / Desert1.jpg&amp; image2 = .. / images / Desert2.jpg 等等
答案 6 :(得分:0)
if(isset($_REQUEST['genRep']))
{
$data = $_REQUEST['genRep'];
print_r($data1);
echo "tested".$data1[0];
createPdf($data);
}
我的代码是正确的,索引0没有值,这就是为什么它没有打印任何东西。我错误!!!