当前位置: 首页 > 面试题库 >

使用数据作为数组播放框架和jQuery Ajax请求

方波娃
2023-03-14
问题内容

我正在通过带有Play Framework后端的jQuery通过Ajax发送值数组,而我遇到了问题。

这是一个例子:

$.ajax ({
    'type':     'POST',
    'url':          '/url',
    'timeout':  5000,
    'data':     {'ids': [0, 1, 2, 3]},
    'dataType': 'json',
    'success':  function (oData) {
        // Process ...
    }
});

但是在Play!中,如果我执行params.get("ids");,我将得到一个空值,如果我也执行了一个params.getAll("ids");

我知道问题出在哪里,jQuery将数据发送为:ids[]=0&ids[]=1&ids[]=2&ids[]=3
但是播放!框架期望将数组数据发送为ids=0&ids=1&ids=2&ids=3

是否有适当的方法正确发送数据(或在控制器中将数据作为数组获取)?

到目前为止,我设法使其简单地起作用,但是在javascript中手动将请求创建为String。

谢谢你的帮助。


问题答案:

一种方法(使您的JavaScript代码保持完整)只是声明您的控制器方法,如下所示:

public static void myMethod(@As("ids[]:")List<Long> ids) {
    System.out.println(ids.get(0));
}

..输出是您期望的:

[0, 1, 2, 3]



 类似资料:
  • 这些是以下类别: 在控制器文件中,我有以下文件 列表getQuestion()中的size()引发LazyInitializationException,因为没有打开的会话 我知道,将fetch类型更改为EAGER或在QuestionRepository中的函数定义上方使用JPQL查询可能会解决这个问题,但在我的应用程序中,有些地方没有帮助,我需要延迟fetch。 如何使get问题()函数中的整个

  • 问题内容: 在文件中,在Play创建的默认项目中!,有这行: 我了解,如果需要添加更多样式,则必须在视图脚本中使用 应该在哪里,但是似乎很难将值设置为完整的HTML 标签。如果视图需要添加更多样式或脚本,该怎么办? 谢谢! 问题答案: 您可以通过以下方式设置更多样式: 像脚本:

  • 你好,我是新来玩框架游戏的。在我的后端集群中,有基于SOAP的java Web服务在jetty服务器下运行。我正在使用play 2.1.2开发一个基于Web的应用程序,它应该调用在后端集群中运行的SOAP Web服务。 我在谷歌上搜索,找到了一些链接,但我看不出来http://playframework.wordpress.com/2010/08/15/web-services-using-pla

  • 问题内容: 我想知道(我的Java应用程序的)播放框架版本与我的应用程序的Java版本之间是否有任何联系? 示例:如果我使用play 2.2.1并在计算机上安装了java8。我可以在代码中使用java8吗? 如果有连接。java8的第一个播放版本是什么? 谢谢你妮芙 问题答案: Play 2.3.x是提及Java 8的第一个版本,请参见此处 今天早晨,我正在与我的一位同事交谈,他发现运行2.1.x

  • 我正在尝试使用PlayJava模板创建小型CRUD应用程序。我通过cmd使用typesafeactivator创建了一个新项目,所以现在我想启用ebean并更改mysql数据库。im使用激活器1.3。6,对于使用我的phpmyadmin sql 5.6的sql im。20我在谷歌上搜索了一下,我做了所有的事情,比如纪录片,但我仍然无法解决我的问题我无法添加ebean我的项目,我无法连接mysql连

  • 问题内容: 我正在尝试在数据库中保存一个简单的对象,但这给我带来了问题。 这是我的对象类: 这就是我的控制器中的内容: 我正在为其他模型做完全相同的事情,但是我没有任何问题,仅此一项给我带来了问题。当我刷新浏览器时,我得到: 我还添加了配置,在控制台中,我得到了: 浏览器也显示了这一点:但是我不知道在哪里可以查看我的日志,那么有人也可以告诉我吗? 问题答案: 是MySQL中的保留字,您需要按以下步