可以使用默认的Symfony表单保存操作通过AJAX发布数据吗?

时间:2010-05-23 08:34:56

标签: jquery ajax symfony1 jqgrid

我正在玩Symfony,jQuery,jqGrid& AJAX。 对于每个新的帖子提交,我正在做foll:

  1. routing.yml
  2. 中添加路由条目
  3. 在模块的Actions文件中定义新操作。这是读取参数,指定值和&保存对象
  4. 与jqGrid的情况一样,“Add Row”表单不是Symfony表单。有没有办法欺骗Symfony并将数据发布到executeCreate动作以存储新条目。

    如果没有,Symfony是否提供了为每个模块的AJAX请求快速生成Web服务的方法?这是一个明智的特征吗?

    我将不得不做的其他事情是

    • 创建路由
    • 制作新动作
    • 获取所有参数
    • 实例化对象
    • 分配值&保存

    任何帮助我们更快地做到这一点将不胜感激。提前致谢

2 个答案:

答案 0 :(得分:1)

为避免每次都创建新路线,您可以创建一个单独的ajax操作,将您的请求重定向到应用的正确部分。

只需创建一个带有额外参数'action'的动作,然后转发请求。

答案 1 :(得分:0)

如果您使用商用jqGrid版本的PHP,售价299美元(请参阅http://www.trirand.net/forum/default.aspx?g=posts&t=200),那么您应该在相应的支持论坛中提出问题(请参阅http://www.trirand.net/forum/default.aspx?g=posts&t=200作为示例)。如果您使用免费版本的jqGrid,那么您可能只需尝试 sfAlyssaJqGridPlugin (请参阅http://www.symfony-project.org/plugins/sfAlyssaJqGridPlugin)或 ysJQueryUIPlugin (请参阅http://trac.symfony-project.org/browser/plugins/ysJQueryUIPlugin和{{ 3}})。

自己使用 Symfony 。通常,您可以在jqGrid中集成任何以JSON(最佳方式)或XML格式提供纯数据的Web服务器,但您应该知道ajax的可能性。如果sfAlyssaJqGridPlugin和ysJQueryUIPlugin无法解决您的问题,您应该清楚如何在纯JavaScript / jQuery中执行以下操作

  1. 从服务器获取应该在jqGrid中显示的数据。 jqGrid可以向服务器提供有关使用jqGrid的用户在客户端选择的数据的排序,分页和过滤的附加信息。此信息将作为参数添加到URL用户的服务器请求中,或者可以通过其他方式发送到服务器(jqGrid中有很多自定义可能性)。
  2. 修改jqGrid
  3. 中显示的数据(一行数据)
  4. 添加将在jqGrid
  5. 中显示的新数据(包含新数据的行)
  6. 删除jqGrid
  7. 中显示的数据(一行数据)

    所有这些操作都可以在jqGrid中自定义,所以一开始使用jQuery.ajax的小型JavaScript并且没有jqGrid用于所有这些操作就足够了。然后我可以帮助你在jqGrid中实现这些动作。