2014-05-02 52 views
0

我有一堆數據,我抓住了一些php文件,這些數據是在幾個數組中創建的。理想情況下,我想將所有這些傳遞給我的JS文件,然後抓取每個數組並將其輸出到網站的不同部分。我認爲最簡單的方法是將所有數組都推入單個數組,然後在數據通過ajax傳遞時抓取特定數組。將多個數組從PHP文件傳遞到JS

這裏是我的PHP

$neighborhoodArray(); 
$areaArray(); 
$masterArray = array(); 

// Push info into 2 arrays 
while($buildings = mysql_fetch_assoc($allBuildingsQuery)) { 
    array_push($neighborhoodArray, $buildings['NEIGHBORHOOD']); 
    array_push($areaArray, $buildings['AREA']); 
} 

while($apartments = mysql_fetch_assoc($allApartmentsQuery)) { 
    array_push($neighborhoodArray, $apartments['NEIGHBORHOOD']); 
    array_push($areaArray, $apartments['AREA']); 
} 

我希望能夠找出一個鍵而不是一個數量每個陣列,因爲我最終會增加更多的東西,這個主陣的路線

// parseValues is a function I set up to remove empty values and duplicates 
$areaValues = array("Area" => parseValues($areaArray)); 
$neighborhoodValues = array("Neighborhood" => parseValues($neighborhoodArray)); 

array_push($masterArray, $areaValues); 
array_push($masterArray, $neighborhoodValues); 

$valuesForOutput = json_encode($masterArray); 

echo $valuesForOutput; 

理想情況下,我希望能夠出去把這個頁面的特定部分,通過這樣的

$('.container').html(values.Area); 
$('.different-container').html(values.Neighborhood); 

這就是我對Ajax調用

$.ajax({ 
type: "GET", 
url: "procceses/search-values.php?"+url, 
datatype: "jsonp", 
success: function(values){ 

    // AreaOnly = values['Area']; 
    // AreaOnly = values.Area; 

    console.log(values); 
    } 
}); 

我無法弄清楚如何定位值從PHP文件返回。迴應的格式如下。區域和鄰域成爲我的對象,但我希望他們是我可以迭代的數組。我也無法弄清楚如何抓住區域和鄰域物體。

[ 
{ 
    "Area": { 
     "0": "Brooklyn", 
     "1": "Bronx", 
     "2": "Queens", 
     "3": "Out of Area", 
     "7": "Manhattan" 
    } 
}, 
{ 
    "Neighborhood": { 
     "0": "East Flatbush", 
     "1": "Williamsbridge", 
     "2": "Cambria Heights", 
     "3": "Westchester", 
    } 
} 
] 
+1

什麼控制檯。 log()在成功函數中顯示?當你看起來不像使用JSONP時,爲什麼你有'datatype:「jsonp」'。 – MrCode

+0

啊我沒有意識到jsonp和json之間的區別。 console.log輸出包含頂部的信息的最後一位 – user2989731

回答

0

通過使用array_push()方法,您可以在數組中使用數字索引添加額外的圖層。

如果你想避免這種情況,應填寫您的數組中的PHP,如:

$masterArray['Area'] = parseValues($areaArray); 
// etc. 

因爲它是現在,你Area對象位於:

values[0].Area 
values[1].Neighborhood 
// etc. 
+0

像建議的那樣設置陣列來刪除該圖層。但對於設置,值[0]。區域(原始設置)和值。區域(新設置)返回未定義。值然而輸出一切都很好。 – user2989731

+0

啊,我看起來像,我必須先解析它(響應= $ .parseJSON(值);)在訪問它之前 – user2989731