0

jqGrid 使用查询参数 (GET) 和表单参数 (PUT / POST) 与服务器通信。是否可以提交 json 消息?例如,我们可以不提交 myQuery?rows=10&page=1&country=spain,而是将这个 HTTP 负载提交到服务器:{"rows":"10", "page":"1", "country":"spain" ? 如果我们想与需要预定义消息结构的 RESTful Web 服务交互,则需要此功能。另一方面,GET 请求没有正文,所以我想知道是否可以将 json 消息传递给 GET RESTful 服务?我正在设计服务的双方(jqGrid + CXF)。我担心的是为我的服务公开一份明确的合同,而不是仅仅接受一个未描述的参数映射。

4

1 回答 1

0

您可以使用serializeGridData回调将发布的参数转换为一个 JSON 字符串。例如

serializeGridData: function (postData) {
    return JSON.stringify(postData);
}

答案描述了与 RESTful 服务通信可能需要的更多选项。

如果我们谈论 RESTful 服务,那么重要的是要提到像rows、、pagesidxsord参数不是经典 RESTful URL 的主题,因为这些部分不是资源。所以URL参数的使用 ("?param1=value1¶m2=value2&...") 绝对是对 RESTful 服务的抱怨。OData 也使用(例如参见此处)有关分页的信息作为参数。答案提供了访问 Windows Azure 移动服务的 RESTful 开放数据协议 (OData) 服务的示例。

于 2013-06-28T08:58:54.637 回答