[英]Symfony JsonResponse: Fetching each element of multidimensional array returned by symfony controller
當我嘗試獲取表的所有行時,基本上我想做的就是嘗試從symfony控制器傳遞的“數組”數組中獲取每個元素。 我的控制器工作正常,並給了我輸出:
[{“ id”:1,“名稱”:“約翰遜嬰兒洗發水”,“ dsc”:“洗發水”,“ pic”:“ 572f8a02d59b3.jpg”,“公司”:4,“類型”:“嬰兒用品” ,“價格”:150,“出售”:空,“庫存”:200},{“ id”:2,“名稱”:“約翰遜肥皂”,“ dsc”:“嬰兒肥皂”,“圖片”:“ 57303fc35f72c.jpg”,“公司”:4,“類型”:“嬰兒產品”,“價格”:52,“已售”:空,“庫存”:1000}]
和我的JavaScript來獲取此輸出如下:
<script>
function fetchprod() {
$.ajax({
url: "/show/prod",
dataType: "json"
}).success(function(data){
$('#container').html(JSON.stringify(data));
});
}
fetchprod();
setInterval(function () {fetchprod()}, 3000);
</script>
我想做的是分別獲取每個數組的每個元素,以便我可以從它們中放置一個div,以便可以將它們正確地排列在網格中。
該數組也是由symfony控制器獲取的(如果您需要額外的信息):
public function showAction($slug){
$em = $this->getDoctrine()->getManager();
if($slug == 'prod'){
$repo = $em->getRepository('SystemBundle:Products');
$q = $repo->createQueryBuilder('u')
->getQuery()
->getArrayResult();
return new JsonResponse($q);
}
}
由於您使用的是jQuery,也許您可以使用each
方法:
// ajax call
.success( function (data) {
$.each(data, function(key, value) {
var div = '<div>' + JSON.stringify(value) + '</div>';
$('#container').append(div);
});
});
// close function
這樣,您可以遍歷數組中的每個對象,將其放在div中,然后將其附加到#container
。
它應該創建如下內容:
<div id="container">
<div>{"id":1,"name":"johnsonn's baby shampoo","dsc":"shampoo","pic":"572f8a02d59b3.jpg","company":4,"type":"baby products","price":150,"sold":null,"stock":200}</div>
<div>{"id":2,"name":"johnson's soap","dsc":"baby soap","pic":"57303fc35f72c.jpg","company":4,"type":"baby products","price":52,"sold":null,"stock":1000}</div>
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.