使用带有symfony的Ajax动态生成表格

时间:2016-01-16 06:02:03

标签: javascript php jquery ajax symfony

我正在使用symfony项目。我想在表单中选择一些选项时生成表格。

这是我的任务。

表格中有名称选项(例如John,Mia,Lia等) 当我们选择“约翰”时。我想用表格显示关于“john”的所有细节。 该表应该以表格形式定位。

此链接中有一些示例http://www.w3schools.com/php/php_ajax_database.asp

但我想用symfony做到这一点。

这样做的最佳方式是什么。

请举一些例子。

使用Javascript,Jquery或ajax与Symfony

1 个答案:

答案 0 :(得分:1)

Symfony关键字在这里具有误导性,因为您将从客户端javascript代码生成表。在您的javascript中,您启动一​​个Ajax调用,该调用将请求发送到您的PHP / Symfony应用程序。一个返回一个JSON对象数组,你的Ajax完成/完成方法使用jQuery创建表。这是一个例子:

<html>
<head>
    <script src="https://code.jquery.com/jquery-2.2.0.js"></script>
    <script>
    $(document).ready (function () {

    }) ;

    function go () {
        $.post ('/index.php/api/mycall',
        //$.post ('/php.php',
            {
                "param1": "param1",
                "param2": 2
            })
            .done (function (ret) {
                var tbl =$('#mytable') ;
                tbl.empty () ;
                $(document.createElement('tr'))
                    .append ('<th>id</th><th>firstname</th><th>lastname</th>')
                    .appendTo (tbl) ;
                $.each (ret, function (index, val) {
                    $(document.createElement('tr'))
                        .append ('<td>' + val.id + '</td><td>' + val.firstname + '</td><td>' + val.lastname + '</td>')
                        .appendTo (tbl) ;
                }) ;
            }) ;
    }
    </script>
</head>
<body>
    <input type="button" onclick="go()" />
    <div id="mytable"></div>
</body>
</html>

在您的交响乐代码中的某处,您处理/ api / mycall的帖子查询

$results =[
  (object)[
    "id" => 1,
    "firstname" => "John",
    "lastname" => "Doe"
  ],
  (object)[
    "id" => 2,
    "firstname" => "Jane",
    "lastname" => "Doe"
  ]
] ;
return (new JsonResponse ($results, Response::HTTP_OK)) ;

希望有所帮助