【问题标题】:using ajax in zend to populate database in view在 zend 中使用 ajax 在视图中填充数据库
【发布时间】:2013-10-06 02:05:06
【问题描述】:

我正在使用 ZendFramework,我需要将存储在数据库中的数据填充到 视图,但我需要使用 Ajax 和 json 来做到这一点 我有一个打印以下内容的网络服务

{"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全部

【问题讨论】:

    标签: jquery ajax json zend-framework populate


    【解决方案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>");
       }
    
    })
    

    【讨论】:

    • 当我写 alert(cat);它显示了 json 字符串,但是当我写 alert(cat.cat) 它显示未定义我也尝试 alert(cat[0].cat) 和 alert(cat.cat[0]) 但也显示未定义
    • 这是因为在我的回答中我应该使用$.getJSON 而不是$.get。 jQuery 将响应解析为字符串,而不是将其解析为 JSON。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-09-01
      • 2018-02-02
      • 2011-06-14
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-15
      相关资源
      最近更新 更多