在Play框架中发送一个Javascript字符串给java方法
Sending a String in Javascript to java method in Play Framework
我正在为我的大学开发一个系统,我使用的是游戏框架。这个系统的管理员在谷歌地图上设置了一个标记,我从那个点得到坐标。
现在我正试图将此信息传递到服务器端,以便我可以将这些存储到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 ?????
}
提前谢谢你,我真的需要你的帮助:)!
我不明白你为什么要做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请求。如果你愿意,你也可以把这个改成post
- Javascript:一个二维数组的字符串
- Javascript:一个变量包含值,但Firebug说它是空的
- 使用 JavaScript 一个接一个地播放几个音频
- Javascript 一个请求多个 JS 文件
- JavaScript:一个又一个循环不执行
- 动态加载头标签中的Javascript一个接一个完全加载后不追加,跨域
- Javascript:一个项目数组的sum-all-found.data()
- Javascript:一个带键的数组怎么可能呢
- JavaScript:一个变量可以有多个值吗
- Javascript-一个变量能在多大程度上保持其价值
- Javascript一个站点上有两个计算器
- JavaScript:一个接一个执行多个REST调用的正确方法
- JavaScript.一个奇怪的分配句子
- Javascript -一个函数中的多个任务无法工作
- javax.script传递给javascript一个Java方法作为回调
- Javascript -一个未知的JSON对象返回给我,我如何看待它
- JavaScript:一个字节应该是8位
- 当用户“看到”时激活JavaScript.一个元素
- Javascript一个输入字段连接到几个函数
- Javascript:一个IIFE函数以及供以后使用的函数定义