首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExtJS 4: JSONRPC2.0作为存储协议?

ExtJS 4: JSONRPC2.0作为存储协议?
EN

Stack Overflow用户
提问于 2011-09-30 22:47:57
回答 2查看 1.8K关注 0票数 2

我想在ExtJS版本4的基础上实现一个图形用户界面,我想使用的web服务作为jsonrpc-2.0调用的结果集提供数据。

我在文档里找不到怎么做这件事的东西。我是否使用AJAX代理?如果是,如何为jsonrpc生成适当的POST请求?

编辑以澄清:,我已经有了一种方法,可以对服务器执行jsonrpc2请求,而服务器的响应是正确的。因此,我想我真的需要一个可以调用自定义函数并定义回调之类的商店。对该机制的调用如下所示:

代码语言:javascript
复制
jsonrpc2.call("method_name", parameterObject, 
        function(success, data_or_error_object) { /* callback code */ })

对于method_name,如"create“、"update”等,parameterObject主要是一个具有命名参数的普通javascript对象。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-16 15:29:13

也许你应该看看Ext.Direct。虽然这并不是您想要的,但它非常类似于JSON-RPC,因此查看Ext.data.DirectStore的源代码应该会给您提供一些关于如何实现JSONRpc存储的提示。

票数 0
EN

Stack Overflow用户

发布于 2011-10-02 07:38:09

Ext.js存储有一个代理,您可以为CRUD操作定义actions的URL,但是这主要是为操作提供一个URL,这通常是服务器端执行操作的方法。

如果您使用的是本地服务器代理(如type:'ajax‘),则可以调用存储中的'sync()’方法,将每个操作的请求发送到存储上定义的urls/方法。

您是否需要保留您定义的“调用”函数,因为我认为您在这种情况下不需要它。

如果您想使用JSONP进行这些调用,可以定义一个具有“类型”JSONP的存储,如下例所示:

代码语言:javascript
复制
var store = Ext.create('Ext.data.Store', {
model: 'User',
proxy: {
    type: 'jsonp',
    url : 'http://domainB.com/users'
    }
});

store.load();

但是,JSONP代理实际上并不用于加载以外的操作,如果您想在远程服务器上操作记录,就必须将数据打包到参数中,而这不是建议的路由。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7616815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档