2011-12-02 13 views
3

我試圖將一個php數組的圖像文件名分配給一個javascript數組。這裏就是我有這麼遠:標識符在javascript數組中的數字文字後立即啓動

<script src="jq.js"></script> 

<?php 
$dir = 'images'; 
$images = scandir($dir); 
$true_images = array(); 
foreach($images as $k=>$v){ 
    if(is_file('images/'.$v)){ 
     $true_images[] = $v; 
    } 
} 

?> 
<script> 
$(function(){ 
     var image_array = Array(<?php echo implode(',', $true_images); ?>); 
     alert(image_array); 
}); 
</script> 

但我得到的螢火以下錯誤: 標識數字文字

請幫幫忙,謝謝提前

+0

因爲你的問題是一個JavaScript的問題,發表您的PHP腳本的輸出來代替。我有一種感覺,你可能會看到你的問題是通過看看輸出(你應該在發佈之前完成的) –

+0

另外,輸出JavaScript數據的正確方法是'<?php echo htmlspecialchars(json_encode($ data ));這將防止很多問題和安全隱患。 – gahooa

+0

@MattiVirkkunen:這裏的輸出:1.jpg,2.jpg,5.jpg,6.jpg,7.jpg,8.jpg,9.jpg。 –

回答

2

,您必須輸入字符串數組「」或「」 試試這個

var image_array = ["<?php echo implode('","', $true_images); ?>"] 
0

如果你做了查看源代碼後立即開始在瀏覽器中閱讀你實際發送的JavaScript,問題可能會很明顯。 「標識符在數字文字後立即啓動」表明您有類似3m3.m(其中33.是數字文字,m是標識符)。在我看來,最可能的問題是$true_images中的(某些)值是3.jpg。在將它們發送到瀏覽器之前,您需要將文件名用引號括起來,生成諸如"3.jpg"之類的內容。

相關問題