1

我正在使用 ZendFramework,我需要将存储在数据库中的数据填充到视图中的表中,但我需要使用 Ajax 和 json 来执行此操作我有一个打印以下内容的 Web 服务

{"cat":[{"id":"1","name":"Meat","image_url":"meat.jpg"}, 
{"id":"2","name":"Soup","image_url":"soup.jpg"}, 
{"id":"3","name":"drink","image_url":"drink.jpg"}, 
{"id":"8","name":"Pastries","image_url":"Pastries.jpg"},
{"id":"9","name":"Ice-cream","image_url":"ice_cream.jpg"},
{"id":"10","name":"salad","image_url":"salad.jpg"}]}

该网络服务的网址是

http://localhost/resturant/public/categories/show-categories

我如何使用这个 Web 服务和 Ajax 填充表中的数据我实际上是 Ajax 的初学者,我搜索谷歌但仍然卡住请任何想法 thnxx all

4

2 回答 2

1

我认为 JS 不应该生成 HTML(如果可能的话)。好的做法是创建separated action,这将返回 HTML。在此操作中,您将调用您的 API 方法,并在其中View生成您的表。在 JS 中,您应该只对新操作发出 Ajax 请求(并传递dataType: 'html'给 ajax 设置对象)。

于 2013-09-30T09:23:06.597 回答
1

您可以使用 jQuery 的$.getJSON功能:

http://api.jquery.com/jQuery.getJSON/

$.getJSON使用如下方式填写表格:

$.getJSON( "http://localhost/resturant/public/categories/show-categories", function(cat) {
   var categories = cat.cat;
   //Iterate throught the array
   for (var i=0;i<categories.length;i++)
   { 
     category = categories[i];
     //Append the category to the table using the format you want
     $("#mytable").append("<tr><td>"+category.id+"</td><td>"+category.name+"</td></tr>");
   }

})
于 2013-09-30T09:18:45.623 回答