2017-02-16 107 views
0

我一直在嘗試閱讀我通過Google找到的其他示例,但我並不是100%確定我完全理解我在自己的位置。我最近啓動了PHP & Javascript並且一直在構建一個基於網絡的遊戲。沒有什麼特別的,但我一直在從頭開始構建系統。我可以註冊,登錄,製作角色並加載房間。我目前正在構建NPC初始化程序,並試圖創建一個解決方案來處理一個房間中的多個NPC。我在getNPC.php裏有這個代碼,它返回我需要的ajax請求。從數組中檢索對象

  while($row2 = mysqli_fetch_assoc($result2)) 
      { 
       array_push($npcarray, array(
        'id' => $row2['id'], 
        'name' => $row2['name'], 
        'location' => $row2['location'], 
        'switches' => $row2['switches'], 
        'switchesonoff' => $row2['switchon-off'] 
       )); 
      } 

所以我在這一點上欣喜若狂,因爲瀏覽器開發者控制檯登錄這個

[{"id":"1","name":"Girl","location":"1","switches":"1","switchesonoff":"1"}, 
{"id":"2","name":"Deer","location":"1","switches":"1","switchesonoff":"0"}] 

唯一的問題是,我不知道如何單獨檢索條目,所以我可以在利用它們實際的NPC初始化過程。

儘管對象和數組可以關閉,但我保證我真的在嘗試!!如果我不得不描述自己理想的學習風格,那麼在燃燒股票時可能會讓我無法自理。

+0

假設你在瀏覽器中記錄了哪些是在一個稱爲用'VAR數據= JSON.parse(結果)創建'data'變量'(其中'result'是字符串從PHP返回),你可以用'data [n]'來訪問'n'位置的項目,並且該項目的屬性如'data [n] .id'。 (所以,例如,第一項的'name'將是'data [0] .name'。) – nnnnnn

+0

你想解析這個響應並找出鍵的值嗎? –

+0

哇,我覺得啞巴。我錯誤地輸入了代碼塊,並且錯字最終解決了。當我最初找到有關將多個事件傳遞迴ajax請求的信息時,它建議在將每個對象放入數組之前對其進行json_encoding編碼,然後對數組進行編碼。事實證明,在將對象放入數組之前,您不需要對對象進行json_encode編碼。 * facepalm *我很抱歉,但我的打字錯誤讓我懷疑是否刪除數組周圍的json_encode()將工作。 我真的很感激每個人都快速響應問題!對不起> _ < –

回答

0

可以解析數據後創建一個循環 -

var data = JSON.parse(data); // Use your response of ajax in data 

    for (var i = 0; i < data.length; i++) { 

     console.log(data[i].id) 
     console.log(data[i].name) 
    } 

你也可以使用jQuery的每個循環。 希望這會幫助你

0

我希望你解析數據,你arre retrive.If任何誤解會提醒我。

代碼

while($row2 = mysqli_fetch_assoc($result2)) 
     { 
      array_push($npcarray, array(
       'id' => $row2['id'], 
       'name' => $row2['name'], 
       'location' => $row2['location'], 
       'switches' => $row2['switches'], 
       'switchesonoff' => $row2['switchon-off'] 
      )); 
     } 
//after async 
for(var key in npcarray) console.log(npcarray[key].id);//Replace id with what you want. 
+0

我最終弄清楚了當我解析數據時真正的問題是什麼,但我肯定會使用它的循環!我以前沒有用過那樣的。我還是很新的,這將有助於清除一些批量代碼! 再次感謝! –