【问题标题】:Sending a String in Javascript to java method in Play Framework将 Javascript 中的字符串发送到 Play Framework 中的 java 方法
【发布时间】:2014-08-10 12:23:51
【问题描述】:

我正在为我的大学开发一个系统,并且我正在使用游戏框架来完成这项工作。 该系统的管理员在谷歌地图上设置了一个标记,我从该点获取坐标。

现在我正在尝试将此信息传递到服务器端,以便我可以将这些信息存储到 mySQL 数据库中的字符串中。我唯一的问题是将数据从我的 javascript/JQuery 中的字符串传递到 java 函数。

我在互联网上尝试了不同的解决方案,但其中一些似乎已经过时,我不知道该怎么做。

我只使用 Java、Javascript、JQuery 和 PHP 进行编程,并且从未使用过 AJAX(例如 JQuery 中的 $.get() 方法),但我认为它可能与我从 PHP 中所知道的非常相似。

例如 http://java.dzone.com/articles/jquery-ajax-play-2

我想通过单击按钮将我的字符串传递给我的 java 函数,这样我就可以将它存储在我的数据库中。

我真的很困惑。

我知道我可以使用类似的东西

<a href="{@routes.Application.postMethod()}"> Send </>

然后在路由中提及该功能,如

POST /post controllers.Application.post();

但是如何传递我的 qjuery 字符串? 以及如何将我的字符串作为字符串存储在 java 函数中,例如:

public static Result post(String Lat, String Lng){

???????????? EVOLUTION NEEDED  ?????

}

提前谢谢我真的需要你的帮助:)!

【问题讨论】:

    标签: java javascript jquery ajax playframework-2.3


    【解决方案1】:

    我不明白您为什么要进行 POST,因为这可以使用 GET 请求来完成。

    按照这个例子: http://www.playframework.com/documentation/1.2/ajax#jsaction

    我们可以看到 Play 使用 jsAction 标记变得更容易。假设您有以下路线:

    GET     /admins/marker        Admins.marker
    

    然后在您的 HTML 中,在底部您会执行以下操作:

    <script type="text/javascript">
       $('#myButton').click( function() {
       var action = #{jsAction @marker(':latitude',':longitude') /}
       $('#result').load(
           action({latitude: '23', longitude: $('#longitudeField').val }), 
           function() {
               $('#content').css('visibility', 'visible')
           }
       )
       });
    </script>
    

    在这种情况下,请求将像(示例)一样发送:

    GET /admins/marker?latitude=23&longitude=67
    

    然后在您的后端,您需要 java fn 来处理该路由。

    基本上是javascript/jquery,当#myButton 元素被点击时被调用,然后我们生成路由URL,我们将使用jsAction 发出请求,然后我们使用load 发出GET 请求。如果您愿意,也可以将其更改为发布。

    【讨论】:

    • 谢谢你的回复,伙计:)!我从来没想过,一定是忽略了这种可能性。真是个好主意。不幸的是,由于我没有足够的声誉,所以我无法投票给您的答案,但我会尽快获得更多:)。
    猜你喜欢
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    相关资源
    最近更新 更多