2014-03-01 46 views
2

我在php文件test.php中有一個數組;我需要它在JavaScript數組中。php數組到javascript數組(從函數中調用)

<?php 
$phpArray = glob('*.jpg'); 
echo json_encode($phpArray); 
?> 

我需要在Javascript陣列中的每個文件名,所以我可以訪問它想:

myJavasciptArray[0]; 

我需要從功能加載我的JavaScript數組:

$("#button2").click(function(){ 
$.get("test.php",function(data){ 
var mypics=data; 
    alert(mypics[1]);  
}); 
}); 

但我取而不是數組中的每個文件名是一個字符。

myJavasciptArray[0]="[" 

代替:

myJavasciptArray[0]="myfile1.jpg" 

回答

0

你沒有得到結果作爲JSON類型。

添加json數據類型爲您$.get()所以結果被解析爲JSON:

$("#button2").click(function(){ 
    $.get("test.php",function(data){ 
     var mypics=data; 
     alert(mypics[1]);  
    }, 'json'); 
}); 
0

嘗試JSON.parse這裏:

$.get("test.php",function(data){ 
    var mypics = JSON.parse(data); 
    alert(mypics[1]);  
}); 
1

而不是使用jQuery.get(),使用jQuery.getJson(),你應該罰款。如果你不知道,myJavascriptArray是一個字符串,而someString[0]表示字符串的第一個字母。

0

什麼你得到的是一個字符串,從請求回來,你將需要使用JSON.parse()來函數來獲取正確的JSON對象

var mypics = JSON.parse(data)