Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 要求复杂吗?如何克服这些问题?_Jquery_Grails - Fatal编程技术网

Jquery 要求复杂吗?如何克服这些问题?

Jquery 要求复杂吗?如何克服这些问题?,jquery,grails,Jquery,Grails,我使用jQuery自动完成控件对三个实体执行搜索:所有者、经理和租户。每个实体都保存到数据库中自己的表中 在自动完成控件下,将根据用户的选择显示并填充网格隐藏div。网格使用textfields控件,因此用户可以再次编辑和保存 现在,我遇到了这些问题: 当提交回服务器时,如何知道该提交的是哪个实体 用户在做什么?是业主、经理还是租户?我需要考虑一下 这是为了知道在数据库中保存数据的位置。 如您所知,服务器端验证是必须的。如果用户提交了无效数据,该怎么办?常见的模式是重新显示带有错误消息的页面。

我使用jQuery自动完成控件对三个实体执行搜索:所有者、经理和租户。每个实体都保存到数据库中自己的表中

在自动完成控件下,将根据用户的选择显示并填充网格隐藏div。网格使用textfields控件,因此用户可以再次编辑和保存

现在,我遇到了这些问题:

当提交回服务器时,如何知道该提交的是哪个实体 用户在做什么?是业主、经理还是租户?我需要考虑一下 这是为了知道在数据库中保存数据的位置。 如您所知,服务器端验证是必须的。如果用户提交了无效数据,该怎么办?常见的模式是重新显示带有错误消息的页面。 但在我的例子中,grid/div是基于自己的自动完成搜索显示的,再次显示页面只会隐藏div。 我能用一种更简单的方法吗


使用的技术是jQuery和Grails框架

这里发生了很多事情,但并不是势不可挡。一点一点地解决它

显然,初始查询可以使用联接从三个表中获取与指定查询值匹配的所有结果。但是,我首先要质疑您在三个独立数据库表背后的基本原理,因为它打破了关系数据库的基本原则,重复字段,如果一个人担任两个不同的角色,则可能重复数据经典:不可能,但在理论上可能的情况下,每个人都是一个人,每个人都有类似的数据要求,比如名字、姓氏、地址、城市等。那么,为什么不将人员信息存储在一个表中,然后使用一个单独的表来定义关系中的人员id,或者在人员数据库中使用一个字段来定义他们的角色呢?最终,为了使这项工作起作用,您必须有某种公共标识符,系统可以查看该标识符来告诉它此人担任什么角色

如果您要继续使用现有的结构,我想您必须执行一个复杂的联接,将每个表中的ID别名为字段名(如Owner_ID),然后您可以使用该字段名根据它们所属的表来进行决策……效率低下

我个人会将信息查询到,这是目前功能最丰富的网格。它确实有很多优点,而且运行良好。UI端的技巧是首先使用来自ajax源的空resultset初始化datatable,然后使用命令oTable.fnDrawfalse刷新它


最后,为了保存,我将获取保存值的ID,并将其保存到jqueryajax脚本中。我将通过DB对该ID运行一个查找,以查看它有什么关系,这就是更好的规范化允许您根据其关系状态所有者、管理者或租户进行查询以获得该值的地方。在此基础上,根据计算出的ID和tablename运行DB更新,并循环视图以指示成功并返回主屏幕

需要更多换行符。另外,cowbell@bpeterson76在层次结构中使用一个表并使用鉴别器列怎么样?