代码之家  ›  专栏  ›  技术社区  ›  dmkc

成长为JavaScript作为前端与“DHTML”不可分割的一部分

  •  2
  • dmkc  · 技术社区  · 14 年前

    有什么好方法可以将JavaScript混合到web应用程序的视图和控制器中?对于我发现的Java驱动的网站 DWR 这是非常有用的,但是很多时候用户启动的事件需要控制器逻辑,当它是页面上包含的许多单独函数的一部分时,这就开始变得难以理解和混乱。

    我曾考虑过一个完全由AJAX驱动的模板引擎,但这似乎有点极端,而且对任何人来说都可能是个麻烦。另一方面,克隆现有后端类的功能似乎是多余的。

    对于那些既不完全支持AJAX,也不完全支持JavaScript的web应用程序来说,什么是好的“中间地带”方法?

    "Your picture is uploaded but looks terrible. You need a new 'do." (OK | What?)
    

    Dialog 在两种情况下工作相同的类。

    5 回复  |  直到 14 年前
        1
  •  1
  •   Darien Sam Palmer    14 年前

    我最近一直在和 JavascriptMVC (2.0)对于内部公司应用程序。它有它的缺点,但是总体架构很好,允许您创建“controller”JS类。每个控制器“拥有”DOM树的一个子集(或者如果您愿意,也可以是页面的可视部分),并响应该区域内的事件并使用 EJS templates (视图部分)改变它下面的区域。它很好地抽象出了很多东西 $(...).bind() $(...).live() 调用OOP模型。

    下面是我在禁用Javascript的情况下如何做到这一点的方法:

    1. HairdoUploadController <form>...</form> 给建造师。
    2. 控制器添加一个新的div并将其与jqueryui对话框(最初隐藏)相关联。
    3. 当表单被提交时,控制器将进行AJAX调用,调用的URL与普通表单稍有不同。
    4. AJAX调用的结果被推送到对话框的div中,并显示对话框。
        2
  •  2
  •   DA.    14 年前

    我当然不是这个领域的专家,但在过去的工作中,使用RESTful服务的项目似乎很适合网站开发的AJAXY世界。我不能说它是网络应用的理想选择,但对于内容丰富的表现型网站来说效果很好。它似乎可以很好地通过自定义模板满足您对多表示格式的需求。因此,该服务可以使用HTML页面模板调用pictureUpload服务,也可以调用该服务并请求AJAX组件模板。

        3
  •  1
  •   Anurag    14 年前

    您可以在服务器上抛出所有逻辑,并假设一个哑客户机显示服务器发送的任何内容。

    有两种情况:

    1. Ajax请求

    Dialog 类,该类将弹出对话框的HTML表示形式,并用于这两种类型的请求。然后在AJAX调用中,只需将服务器的响应添加到DOM中。

    正如您所说,在客户端和服务器端共享UI创建逻辑可能会有问题,所以最好选择一个并坚持使用它。在上述情况下,所有逻辑都被推送到服务器。阅读更多关于 AHAH .

        4
  •  1
  •   mpen    14 年前

    听起来像 Google Web Toolkit 可能就是你要找的。

    Java中的应用程序并进行部署 作为JavaScript。

    在我自己开发的框架中,我基本上是强迫开发人员编写两次代码。一次使用本机语言,一次使用JavaScript。我让他们填写一个返回JS的函数,然后可以在需要的地方自动调用。但是所有的代码都包含在一个类中,所以至少你不会把逻辑分散在所有的地方,你可以快速比较它们是否在功能上是等价的。对于正则表达式之类的东西,通常可以只编写一次,然后传递给JS(我使用它在客户端验证一次,然后在服务器端验证一次)。

        5
  •  0
  •   ckramer    14 年前

    我最近发现自己使用服务器端代码(在我的例子中是ASP.NETMVC)作为一种手段,提供对布局组件(主文件)和小封装的UI(局部视图)的重用,并用javascript做了大量工作。在这种情况下,我的UI工作还处于起步阶段,但是使用jQuery和jqueryui,我在一个非常小的空间中获得了很多功能。