【问题标题】:Acessing Gorm object in JS在 JS 中访问 Form 对象
【发布时间】:2010-12-19 00:54:51
【问题描述】:

我使用 grails/gorm 开发了一个关于流量报告的 Web 应用程序。基本上,它可以找到交通报告,如(在xx路发生事故yyy,交通非常缓慢。)

现在我需要将地图集成到应用程序中。我的地图是 javascript 中的,我如何访问 js 中的 gorm 对象(如果可能的话)?

我使用的标准 groovy:

<%
       def road1 = packagename.Road.list()

       out << road1.name


%>

我可以在 JS 中拥有相同的访问权限吗?

【问题讨论】:

    标签: javascript google-maps grails grails-orm


    【解决方案1】:

    通常对于这种类型的事情,您向服务器发出某种请求,服务器通过 JSON 或 XML 将数据返回给浏览器。如果您的地图来自某个 javascript 库,您可以使用 Ajax 来查询您的服务器以获取数据。你用的是哪个 JS 库?不管它是什么,它可能有一种机制来发出 ajax 请求——您将传递服务器需要获取适当数据的 ajax 请求的参数,并且当请求返回一个回调时,定义将对数据做一些事情.

    请注意,如下设置应用程序代码是一个不错的主意。

    1. 你有你的域对象,'Road'
    2. 使用方法 listAllRoads 生成 RoadService
    3. 生成一个 RoadController,带有一个动作 listAllRoads

    控制器调用服务,服务使用域对象来检索列表。在您的操作中,您可以获取列表并以您需要的任何形式(json、xml 或 gsp)呈现。

    Grails 是关于约定的;以上是您遵守这些约定的方式。

    【讨论】:

    • 感谢您的快速答复。我想我明白你的意思了,我要试试。我对编程也有点陌生。我有时可能看不到那么远。但我想我明白了。去试试。谢谢
    • @john,没问题。随时继续提问。一般来说,提出一个非常具体的问题、失败的代码以及您收到的错误消息会有所帮助。您越具体,我们就越能提供帮助。
    • 谢谢。我不知道这个社区。问题的回答速度真是太棒了。非常感谢,我现在就解决这个问题。
    • 如果枚举所有Roads 已经是ActiveRecord 的职责,为什么还要在Service 上重复呢?像def ajaxList = { render (Road.list() as JSON).toString() } 这样的操作就可以了。当然,如果有一些更复杂的功能,服务绝对是正确的。
    猜你喜欢
    • 2023-04-11
    • 2020-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-22
    相关资源
    最近更新 更多