2015-08-27 21 views
3

我越來越錯誤,而我試圖循環通過json對象。我從api獲取數據並將其傳遞給view.I試圖打印整個對象,這是沒有問題的。如果我試圖循環低谷,它是拋出錯誤。但是,如果我硬編碼控制器中的響應(無論來自API的響應)它工作正常。從api循環中的sails.js數據通過視圖

這是控制器硬編碼響應

module.exports = { 
 
    index: function(req, res) { 
 
    var request = require("request"); 
 
    request("http://app.coreosadmin.com/emp.json", function(error, response, body) { 
 
     if (error) { 
 
     console.log(error); 
 
     } else { 
 
     var menuData=[{"id":"Dasboard","icon":""}, 
 
         {"id":"Subscriptions","icon":""}, 
 
         {"id":"Extensions","icon":""}, 
 
         {"id":"Adds Management","icon":""}, 
 
         {"id":"Client Management","icon":""}, 
 
         {"id":"User Management","icon":""}, 
 
         {"id":"Settings","icon":""}, 
 
         {"id":"Enums","icon":""}, 
 
         {"id":"Accounts","icon":""}, 
 
         {"id":"Reports","icon":""}]; 
 
     return res.view('homepage',{menus:menuData}); 
 
     } 
 
    }); 
 
    } 
 
};

這是我的控制器


 
module.exports = { 
 
    index: function (req, res) { 
 
    var request = require("request"); 
 
    request("http://someurl.com/emp.json", function(error, response, body) { 
 
     if (error) { 
 
     console.log(error); 
 
     } else { 
 
     return res.view('homepage',{menus:body}); 
 
     } 
 
    }); 
 
    } 
 
};

這是我家查看

<div class="menu_section"> 
 
    <ul> 
 
     <% menus.forEach(function(menu) { %> 
 
      <li title="<%- menu.id %>"> 
 
       <a href="index.html"> 
 
        <span class="menu_title"><%- menu.id %></span> 
 
       </a> 
 
      </li> 
 
     <% }); %> 
 
    </ul> 
 
</div>

回答

3

其解決。我不得不使用JSON.parse。返回res.view('homepage',{menus:JSON.parse(body)});}返回res.view('homepage',{menus:JSON.parse(body)});返回res.view