我想在ExtJS版本4的基础上实现一个图形用户界面,我想使用的web服务作为jsonrpc-2.0调用的结果集提供数据。
我在文档里找不到怎么做这件事的东西。我是否使用AJAX代理?如果是,如何为jsonrpc生成适当的POST请求?
编辑以澄清:,我已经有了一种方法,可以对服务器执行jsonrpc2请求,而服务器的响应是正确的。因此,我想我真的需要一个可以调用自定义函数并定义回调之类的商店。对该机制的调用如下所示:
jsonrpc2.call("method_name", parameterObject,
function(success, data_or_error_object) { /* callback code */ })对于method_name,如"create“、"update”等,parameterObject主要是一个具有命名参数的普通javascript对象。
发布于 2011-12-16 15:29:13
也许你应该看看Ext.Direct。虽然这并不是您想要的,但它非常类似于JSON-RPC,因此查看Ext.data.DirectStore的源代码应该会给您提供一些关于如何实现JSONRpc存储的提示。
发布于 2011-10-02 07:38:09
Ext.js存储有一个代理,您可以为CRUD操作定义actions的URL,但是这主要是为操作提供一个URL,这通常是服务器端执行操作的方法。
如果您使用的是本地服务器代理(如type:'ajax‘),则可以调用存储中的'sync()’方法,将每个操作的请求发送到存储上定义的urls/方法。
您是否需要保留您定义的“调用”函数,因为我认为您在这种情况下不需要它。
如果您想使用JSONP进行这些调用,可以定义一个具有“类型”JSONP的存储,如下例所示:
var store = Ext.create('Ext.data.Store', {
model: 'User',
proxy: {
type: 'jsonp',
url : 'http://domainB.com/users'
}
});
store.load();但是,JSONP代理实际上并不用于加载以外的操作,如果您想在远程服务器上操作记录,就必须将数据打包到参数中,而这不是建议的路由。
https://stackoverflow.com/questions/7616815
复制相似问题