如何在Ajax中发送js数组

2023-11-26

我创建了一个像这样的JS数组var detailsArr = new Array();并将一些数据推入该数组。

现在我通过 Ajax 将这个数组推送到我的 Spring 控制器,如下所示

$.ajax({
            type: "POST",
            url: "submit",
            data: ({detailsArr : detailsArr }),
            success: function(html){
              alert( "Submitted");
                }
          });

在 Spring 控制器端,我通过@RequestBody注解。 Spring 控制器方法签名如下所示

public String submit(@RequestBody String body) 

但是在 Spring Controller 端接收到的数组基本上是这种格式的 String

detailsArr[]=add&detailsArr[]=test1&detailsArr[]=test2&detailsArr[]=test3

我必须手动拆分这个字符串才能获取值,这是一个繁琐的过程。有什么方法可以按原样获取数组,这样我只需迭代它即可获取值。


您应该将数组以 json 格式传递到服务器。并使用 Json 到对象转换器将其转换。您可以使用Gson.

客户端:

$.ajax({
            type: "POST",
            url: "submit",
            data:JSON.stringify(detailsArr),
            success: function(html){
              alert( "Submitted");
                }
          });

服务器端 :

public String submit(@RequestBody String body){
//convert body to array using JSONLib, FlexJSON or Gson
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Ajax中发送js数组 的相关文章

随机推荐

  • 我可以在 JavaScript 中将数组附加到“formdata”吗?

    我正在使用 FormData 上传文件 我还想发送一系列其他数据 当我只发送图像时 效果很好 当我将一些文本附加到表单数据时 它工作正常 当我尝试附加下面的 标签 数组时 其他一切都正常 但没有发送数组 FormData 和附加数组有任何已
  • 在 Windows 启动时启动 Window

    我希望我的应用程序 WPFWindow 在 Windows 启动时启动 我尝试了不同的解决方案 但似乎没有一个有效 我必须在代码中写什么才能做到这一点 当您说必须向注册表添加一个密钥时 您是正确的 添加一个键 HKEY CURRENT US
  • 如何在 Erlang 中处理 SIGINT?

    感谢 Google 和大量教程 我知道如何用 Java Python Ruby Perl 和 Lisp 创建自定义信号处理程序 我无法在线找到如何在 Erlang 中为 SIGINT SIGTERM HUP 等创建处理程序 你不能 操作系统
  • 如何修复对 inflate/deflate 函数的未定义引用?

    我正在尝试编译示例中提供的现有代码zlib 但它本身就给了我错误 nikhil nikhil Vostro 3500 zlib 1 2 8 examples gcc o zpipe g zpipe c tmp ccVZzqsb o In f
  • shell 脚本的第一行空白:解释 UID 变量的行为

    我有两个非常简单的脚本 区别仅在于第一行存在空白 cat test bash bin bash echo UID cat test blank bash bin bash echo UID 现在我跑步 无论有没有nice test bash
  • 如何让 PHP 会话在 30 分钟后过期?

    我需要让一个会话保持 30 分钟的活动状态 然后销毁它 Answer recommended by PHP Collective 您应该实现自己的会话超时 其他人提到的两个选项 会话 gc maxlifetime and session c
  • 如何解决 http 和站点行为:android 应用程序中的导航错误?

    最近我将 android 9 更新到 android 10 但不幸的是 该应用程序有时会崩溃并给出此错误 com fgapps maker E chromium ERROR cookie manager cc 137 Strict Secu
  • 智能支付按钮为 IPN 传递自定义变量

    我的网站上有两个用于每月订阅的智能按钮 运行良好 我成功收到 IPN 响应 其中付款信息已准备好添加到数据库中 但我需要通过 IPN 响应获取应用程序的 UserID 如何使用智能支付按钮传递自定义变量 以便将其传递到 IPN 如果可能的话
  • Maven 本地存储库与 leiningen 的依赖关系

    我正在开始lein newclojure 中的项目并想要使用goose文章提取库 不幸的是 我在任何公开可用的 Maven 存储库中都找不到该库的 jar 因此我开始将其添加到本地 Maven 存储库中 在项目目录中 我复制了 goose
  • 如何在 Python 中使用 BeautifulSoup 找到文本字符串后的表格?

    我正在尝试从几个网页中提取数据 这些网页的显示方式并不统一 我需要编写代码来搜索文本字符串 然后转到紧随该特定文本字符串的表 然后我想提取该表的内容 这是我到目前为止所得到的 from BeautifulSoup import Beauti
  • 如何确定 Office 加载项是否在 Excel 或 Excel Online 下运行?

    我正在编写一个 Office 加载项 以前称为 Apps for Office 我在用着office js在某些代码点中 我想检查应用程序是在 Excel 桌面软件 中运行还是在 Web 上运行 Excel Online 就像是 if Of
  • 如何为 Amazon S3 存储桶配置 SSL

    我使用 Amazon S3 存储桶通过 NET 应用程序上传和下载数据 现在我的问题是 我想使用 SSL 访问我的 S3 存储桶 是否可以为 Amazon s3 存储桶实施 SSL 您可以通过 SSL 访问您的文件 如下所示 https s
  • Firebase Cloud Messaging 开发和发布简介

    我最近从 Google Cloud Messaging 切换到 Firebase Cloud Messaging 对于 GCM 我必须选择沙箱选项 正如这里所描述的 https developers google com cloud mes
  • 使用 Google App Engine 实现“开头为”和“结尾为”查询

    我想知道是否有人可以提供一些指导 指导我如何使用 Python 对数据存储模型实现开头或结尾查询 在伪代码中 它的工作原理类似于 查询属性 P 以 X 开头的所有实体 A or 查询属性 P 以 X 结尾的所有实体 B 谢谢 马特 您可以使
  • 如何从服务器优雅地关闭套接字

    在服务器端 我试图优雅地关闭连接的套接字 我知道套接字上事件的正确顺序应该是 使用 SocketShutdown Send 选项关闭套接字 循环 等待 直到套接字接收返回 0 字节 套接字关闭 我有几个问题 如果 Socket Receiv
  • 使用连接字符串的 DocumentDB .Net 客户端

    我检查了 MSDN on DocumentDB for Net here 并找到了 3 个有效的构造函数 然而 它们都没有使用连接字符串 这对我来说听起来很奇怪 是否真的没有办法用连接字符串而不是端点 authKey组合来实例化客户端 或者
  • Spring Oauth2 Client,自动刷新过期的access_token

    让我解释一下我的用例 我需要有一个 spring boot oauth2 客户端应用程序 不是资源服务器 因为我们已经有一个单独的资源服务器 另外我还有以下要求 对于每个向资源服务器发出的请求 我们需要发送 id token 通过自定义re
  • 使用python ElementTree的itertree函数并将修改后的树写入输出文件

    我需要解析一个非常大 40GB 的 XML 文件 从中删除某些元素 然后将结果写入新的 xml 文件 我一直在尝试使用 python 的 ElementTree 中的 iterparse 但我对如何修改树然后将生成的树写入新的 XML 文件
  • 为什么malloc+memset比calloc慢?

    据了解calloc不同于malloc因为它初始化分配的内存 和calloc 内存设置为零 和malloc 内存没有被清除 所以在日常工作中 我认为calloc as malloc memset 顺便说一句 为了好玩 我编写了以下代码作为基准
  • 如何在Ajax中发送js数组

    我创建了一个像这样的JS数组var detailsArr new Array 并将一些数据推入该数组 现在我通过 Ajax 将这个数组推送到我的 Spring 控制器 如下所示 ajax type POST url submit data