2013-10-28 70 views
0

我有陣方含圖片路徑上獲取數組,AJAX來傳遞數組值,如何叫

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

http://stackoverflow.com/questions/8890524/pass-array-to-ajax-request- in-ajax - 看看這個 – AmGates

+0

'json_encode()'.. –

+0

http://stackoverflow.com/questions/8890524/pass-array-to-ajax-request-in-ajax –

回答

1

嘗試像

genRep = []; 
$.ajax({ 
    type: "POST", 
    url: "generatePdf.php", 
    data: { 
     genRep: GenerateReport 
    }, 
    success: function(data) { 
     alert(data); 
     console.log('getting '+data); 
    } 

}); 

它會發送您的數組作爲genRep

+0

任何理由下來.. ?? – Gautam3164

+0

我didnt ....我使用相同的功能傳遞數組,只是不知道如何在另一頁上使用 – anam

+0

只需在該頁面上打印'genRep'。 – Gautam3164

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... 
+0

我想傳遞數組沒有json – anam

+0

@simmisimmi看到更新的答案 –

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 
+0

我想傳遞數組不是json – anam

+0

試試這個將工作..任何你發送 –

+0

photolist [0]這是什麼? – anam

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得到的值。

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); 
      } 

    }); 

圖象 - 應該有刺痛這樣的:

圖像1 = .. /圖片/ Desert1.jpg &圖像2 = .. /圖像/ Desert2。JPG

0
if(isset($_REQUEST['genRep'])) 
{ 
$data = $_REQUEST['genRep']; 
print_r($data1); 
echo "tested".$data1[0]; 

createPdf($data); 
    } 

我的代碼是正確的,有對指數0沒有價值,這就是爲什麼它沒有任何印刷錯誤。我的!

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) 
}