如果這個解釋不清楚,我很難理解。 如何使用PHP & Ajax將數組發送到Javascript?我使用Ajax獲取照片數組,然後我將追加到我的頁面上的空白<div>
。如何將使用PHP和Ajax的數組傳遞給Javascript?
jQuery的如下所示:
$.ajax({
url: "<?php echo site_url('demo/getPhotos/'); ?>",
type: 'POST',
data: form_data,
success: function(data) {
alert(data);
}
而且PHP函數getPhotos看起來是這樣的:
<?php
$photos = array();
foreach ($data as $photo) {
array_push($photos,$photo['source']);
}
// echo json_encode($photos); How should I be returning $photos?
如果我只是echo $photos;
將數據發送到成功回調,但它不」 t似乎是可用的格式。
如果我在PHP做一個var_dump($photos)
,結果看起來是這樣的:的json_encode
和
array(4) {
[0]=>
string(14) "some_image.jpg"
[1]=>
string(14) "some_image.jpg"
[2]=>
string(14) "some_image.jpg"
[3]=>
string(14) "some_image.jpg"
}
我已經試過各種組合等,但是真的,我猜測和不知道它背後的理論。在這種情況下,將數據從PHP傳遞到Javascript的最佳方式是什麼?
完美,謝謝。您是否願意詳細說明優化以更好地封裝代碼? –
當然,@Joe。如果你只是想返回一張照片列表,你有什麼好。但是,如果以後你決定要返回有關每張照片的詳細信息,然後關聯數組,因爲它導致了一個很好的方式來訪問JS的數據是有用的。這樣做的另一種方法可能是使每一張照片的關聯數組,並返回關聯數組的數組,丙氨酸:'陣列(陣列(「名稱」 =>「照片1」,「文件」 =>「img1.jpg」), array(「name」=>「海灘週末」,「file」=>「imgs/beachphoto.jpg」))'。 – Richard
@Joe:執行上述操作的好處與您試圖通過代碼實現的目的相關。如果你後來發現自己做了一些令人費解的事情來恢復數據,請記住我們有過這樣的對話,也許這會幫助你:-)這是否澄清了事情? – Richard