2017-03-03 92 views
0

因此,我開始使用Handlebars.js模板來顯示成功的HTML代碼,從Jquery GET請求。然後我從我的控制器(從我的模型/數據庫中獲取它)獲取一個數組。在把手中,我必須使用數組名稱來循環。我使用dataype JSON傳遞這個數組,並在我的Controller中使用json_encoding($array}使用JQuery來獲取數據類型JSON的數組名稱JSON

問題是我的數組似乎沒有得到數組名稱,所以我沒有數組名稱來引用。

代碼在型號:

public function getAllUserInfo() { 
    $this->selStmt->execute(); 
    return $this->selStmt->fetchAll(PDO::FETCH_ASSOC); 
} 

代碼在控制器:

private function getUserInfo() { 
    $userInfo = $GLOBALS["userModel"]; 
    $userModel = $userInfo->getSearchResult();  
    $data = json_encode($userModel); 
    echo $data; 
} 

代碼在視圖(Jquery的):

$(function() { 
    $.ajax({ 
     type: 'GET', 
     url: '?page=getUserInfo', 
     dataType: 'json', 
     success: function(data) { 
      createHTML(data); 
      $.each(data, function(i, item){   
       displayUsers(item); 
     }); 
     } 
    }); 
}); 

displayUsers功能是把手的功能。

我的問題是,我得到的數組時加載網頁看起來是這樣的:

[{"userID":"19","name":"Testbruker2","username":"Test2","password":"test123","userLevel":"user","image":"tafjord.jpg","lastLogin":null,"email":"[email protected]"},{"userID":"20","name":"Testbruker3","username":"Test3","password":"test123","userLevel":"user","image":"tafjord.jpg","lastLogin":null,"email":"[email protected]"}] 

,我想是這樣的:

{ 
    Pets: [ 
     { 
     "name": "Meowsy", 
     "species" : "cat", 
     "foods": { 
      "likes": ["tuna", "catnip"], 
      "dislikes": ["ham", "zucchini"] 
     } 
     }, 
     { 
     "name": "Barky", 
     "species" : "dog", 
     "foods": { 
      "likes": ["bones", "carrots"], 
      "dislikes": ["tuna"] 
     } 
     }, 
     { 
     "name": "Purrpaws", 
     "species" : "cat", 
     "foods": { 
      "likes": ["mice"], 
      "dislikes": ["cookies"] 
     } 
     } 
    ] 
} 

在我的車把容器我必須寫:

{{#each ARRAYNAME}} 
//code here 
{{/each}} 

但我沒有一個數組名稱來指代..

任何人都知道如何做到這一點?

謝謝。

回答

2

這將這樣的伎倆

$data = json_encode(array("DesiredArrayName" => $userModel)); 
+0

謝謝!完美的作品 – Uptotrix