我目前正在研究symfony2,我从控制器发送有关我产品的JSON信息
public function getProduitsOnJSONAction()
{
$em = $this->container->get('doctrine')->getEntityManager();
$produits = $em->getRepository('BTBundle:Produit')->findAll();
//start bloc reponse json
$encoders = array(new JsonEncoder());
$normalizers = array(new GetSetMethodNormalizer());
$serializer = new Serializer($normalizers, $encoders);
// passed data $produits
$response = new Response($serializer->serialize($produits, 'json'));
$response->headers->set('Content-Type', 'application/json');
return $response;
// end bloc json response
}
此网址中的JSON(“http://localhost/BusinessTracker/web/app_dev.php/getProduitsJSON”):
[{"id":1,"refProduit":"1265466","nomProduit":"Yagourt","prixProduit":270,"stockProduit":10,"libelleProduit":"Yagourt D\u00e9lice"},{"id":2,"refProduit":"000001","nomProduit":"Nutella","prixProduit":4500,"stockProduit":15,"libelleProduit":"Chocolat Nutella"},{"id":3,"refProduit":"000002","nomProduit":"Lait D\u00e9lice","prixProduit":950,"stockProduit":30,"libelleProduit":"1L de Lait d\u00e9lice"}]
现在从客户端我想通过ajax解码这个JSON
$.getJSON('http://localhost/BusinessTracker/web/app_dev.php/getProduitsJSON', function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
没有任何反应。我需要帮助
答案 0 :(得分:0)
我认为你的for循环略有偏离:
$.getJSON('http://localhost/BusinessTracker/web/app_dev.php/getProduitsJSON', function(data) {
var items = [];
data.each(function(obj) {
items.push('<li id="' + obj.id + '">' + obj.nomProduit + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});