Javascript 创建通过AJAX加载的编辑对话框的最有效方法

Javascript 创建通过AJAX加载的编辑对话框的最有效方法,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有几个从后端读取数据的ajaxapi,其中大多数都有一个对应的api,用于写回编辑过的内容 示例: getSalaries/editSalaries getParticipants/editParticipants getPermissions/editPermissions以及更多 每个API对应于后端中的1或2个MySQL表 为了为这些读-编辑-写功能中的每一个创建对话,我不想编写一大堆HTML/JS/jQuery,这些HTML/JS/jQuery除了标签/文本框ID中的一些更改之外都非常

我有几个从后端读取数据的ajaxapi,其中大多数都有一个对应的api,用于写回编辑过的内容

示例:

  • getSalaries/editSalaries
  • getParticipants/editParticipants
  • getPermissions/editPermissions
    以及更多
  • 每个API对应于后端中的1或2个MySQL表

    为了为这些读-编辑-写功能中的每一个创建对话,我不想编写一大堆HTML/JS/jQuery,这些HTML/JS/jQuery除了标签/文本框ID中的一些更改之外都非常相似

    是否有一种方法可以指定一个JSON格式的表,其中每个单元格都接受:

  • 要显示的标签名称
  • 要填充和删除的AJAX数据中的字段
  • 要显示的HTML控件的类型
  • 还有一些UI库,可以自动处理从后端读取的数据,在对话中填充这些数据,然后读取编辑后的值并调用AJAX将数据写回后端

    示例:我应该能够在JSON中指定一个表,如下所示:

    {
       "rows":
       [
           // Row 1
           [
              // Column 1
              {"label": "Participant-name", "ajax-field": "pname", "html-control": "text"},
              // Column 2
              {"label": "Age", "ajax-field": "age", "html-control": "text"},
              // Column 3
              {"label": "Sex", "ajax-field": "sex", "html-control": "option"}
           ],
           // If more than 1 row here, then rows for one entity should be
           // grouped together in a field-set without name.
       ],
       "read-url": "/getParticipants",
       "write-url": "/editParticipants"
    }
    
    这种解决方案的好处是:

  • 编写JSON比编写HTML容易得多(XML太冗长了)
  • 我不必一遍又一遍地将代码写入ajax读取/显示和UI读取/ajax写入

  • 我认为我的大部分代码都可以放入表格格式(带有添加/删除/保存/取消按钮)。

    github上有几十个甚至数百个项目可以从json模式生成表单。Robert,大多数问题通常有几种解决方案。人们寻求帮助的原因是他们自己找不到好的。如果你过去使用过这样一个图书馆,如果你能分享一些关于这个图书馆的细节或推荐一些好的图书馆,那将对我有很大的帮助。我想你会发现,询问图书馆推荐的问题越来越多。我这样评论是因为资源实在太多了。github上有几十个甚至几百个项目都是从json模式生成表单的。Robert,大多数问题通常有几种解决方案。人们寻求帮助的原因是他们自己找不到好的。如果你过去使用过这样一个图书馆,如果你能分享一些关于这个图书馆的细节或推荐一些好的图书馆,那将对我有很大的帮助。我想你会发现,询问图书馆推荐的问题越来越多。我这样说是因为资源实在太多了。