2011-04-29 43 views

回答

5

ProtoRPC的不使用JSON-RPC消息格式。它使用更簡單的格式,其中每個API方法提供自己的端點,而不是一個將方法名稱作爲請求字典一部分的端點。

下面是他們提供了$.ajax的例子:

$.ajax({url: '/hello.hello', 
      type: 'POST', 
      contentType: 'application/json', 
      data: '{ my_name: Bob }', 
      dataType: 'json', 
      success: function(response) { 
      // The response is { hello: "Hello there, Bob!" } 
      alert(response.hello); 
      } 
     }); 

你真的需要一個特殊的jQuery庫嗎?我不確定它可以變得更簡單。

+0

是的,我已經閱讀了更多關於這個,它似乎沒有真正需要的庫。這已經很簡單了。謝謝。 – 2011-04-29 10:27:31

3

我們絕對需要爲用戶開發一個通用的protorpc庫。之後,最好編寫一個與之配合的jquery插件。

我實際上想過讓ProtoRPC支持JSON-RPC作爲一個單獨的協議,但是可能有一些關於JSON-RPC的事情使它與ProtoRPC不兼容。有兩件事:

  • JSON請求允許在其參數中包含任意類型的列表。 ProtoRPC採用單一定義好的類型。

  • JSON字段和列表可能包含任意類型。 ProtoRPC字段和列表只能包含一個類型。

我希望我對你有更好的答案。

0

我工作的是同樣的想法,並且發佈了類似的問題here

我發現如果您的請求包含ContentType應用程序/ json,ProtoRPC會給出JSON響應,如果您包含ajaxGridOptions,jqGrid會產生此響應:{contentType:'application/json; charset = utf-8'},但是這仍然會導致ProtoRPC只接受一個定義好的參數的問題,而默認情況下jqGrid會嘗試上傳5個左右的url格式的參數,即使設置爲POST而不是GET。

我目前正在嘗試使用grid.postext.js插件來解決這個問題,迄今沒有成功。

相關問題