gpt4 book ai didi

java - 从 x-www-form-urlencoded 中的 jqGrid 接收编辑/添加数据,我需要 application/json

转载 作者:行者123 更新时间:2023-11-29 04:53:14 24 4
gpt4 key购买 nike

我正在尝试将我的 jqGrid 链接到我的 Java Rest 服务。当我将编辑/添加数据从 jqGrid 发送到我的休息以便处理它以进行 DB CRUD 操作时,我收到它是这样的:

"nume=Alin&prenume=Dan&sefDepartament=Yes&position=position+2&joinYear=2015-08-11&oper=edit&id=2"

我需要以 JSON 格式接收它。我怎样才能做到这一点?

这是我的 Java 代码:

@Path("/update")
public class UpdateDatabase {

@POST
public String updateDatabase(String data){

System.out.println(data);
}

这是关于服务器连接的 jqGrid 设置:

 grid.jqGrid({
pager: '#pager',
mtype: "POST",
url: "/RestWithDatabaseConnection/rest/fetchData",
editurl:'/RestWithDatabaseConnection/rest/update',
datatype: "json",

如果我应该添加一些其他信息,请告诉我。

最佳答案

要发送以 JSON 格式编码的编辑结果,应该

  1. 在HTTP header 中设置Content-Type: application/json
  2. 使用JSON.stringify 对发布的数据进行编码

如果你使用免费的 jqGrid 那么你可以使用下面的 inlineEditing 选项,这是 jqGrid 的选项(在 editurl 的同一级别)

inlineEditing: {
ajaxSaveOptions: { contentType: "application/json" },
serializeSaveData: function (postData) {
return JSON.stringify(postData);
}
}

如果使用旧的 jqGrid 版本,您可以以几乎相同的方式使用 jqGrid 选项 ajaxRowOptionsserializeRowData:

ajaxRowOptions: { contentType: "application/json" },
serializeRowData: function (postData) {
return JSON.stringify(postData);
}

免费的 jqGrid 支持 jqGridInlineSerializeSaveData 事件作为 serializeSaveDataserializeRowData 回调的替代。它在更多高级场景中很有帮助。由于兼容性原因,免费的 jqGrid 也支持选项 ajaxRowOptionsserializeRowData

我建议您考虑使用免费的 jqGrid 4.12.0 或 GitHub 的最新源代码。 the readme 中描述了主要新功能和错误修复的列表。和往常一样。

关于java - 从 x-www-form-urlencoded 中的 jqGrid 接收编辑/添加数据,我需要 application/json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34653965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com