【发布时间】:2011-02-18 17:40:46
【问题描述】:
我正在开发一个使用 JSON 与服务器进行通信的 Web 应用程序。我用
var jsonStr = '{ name: "Rob", time: "2pm" }';
jQuery("#name").jqGrid({
type : "POST",
url:'ControllerServlet?jsonData='+jsonStr,
datatype: "json",
将数据作为 JSON 字符串传递给服务器,在服务器中对其进行解析、处理并发送回 JSON,该 JSON 将显示在 jqGrid 中。
这对我有用,但我想知道 JSON-RPC 的作用是什么;我读到它用于远程调用。使用 JSON-RPC 而不是使用上述方式调用 servlet 有什么好处吗?如何使用 JSON-RPC 执行相同的操作?
【问题讨论】:
-
您使用的
url似乎很奇怪,尤其是对于HTTP POST。如果您使用 POST,您通常应该发送正文中的所有参数,如其他 jqGrid 参数page、rows、sidx、sord。您可以使用postData参数来执行此操作。例如postData: {name: "Rob", time: "2pm"}。要将 JSON 格式的 all 参数发送到服务器,您还可以使用serializeRowData: function (data) {return JSON.stringify(data);}和可选的ajaxGridOptions: { contentType: "application/json; charset=utf-8" }jqGrid 参数。之后您应该更改服务器代码。