对于远程过滤,每当我点击进行过滤/排序,Forms.asp
触发使用代理,并自动重新加载
早些时候,当我尝试下面的脚本,重新加载extjs网格时Forms.asp
返回带有过滤网格数据的新xml,它运行正常。
var gridStore = new Ext.data.Store({
gridId :'d_grid',
reader: new Ext.data.XmlReader({ record: etc }, etc etc),
proxy: new Ext.data.HttpProxy({ url: "Forms.asp?",
timeout: 120000 }),
baseParams:{
XML:$$("XML").value,
some more params
},
data: doc,
remoteSort: true});
但当我尝试使用某些WCF调用来修改它时:
var gridStore = new Ext.data.Store({
gridId :'d_grid',
reader: new Ext.data.XmlReader({ record: etc }, etc etc),
proxy: new Ext.data.HttpProxy({ url: "Forms.asp?",
timeout: 120000 ,
success: function (response) {
FilterXml = response.responseText;
created new XmlDoc= with somechanges(FilterXml)
Ext.Ajax.request({
method: 'POST',
url:'/mayo/Service.svc/GetnewXML',
params: {'strIPXML': XmlDoc.xml}});
}}),
baseParams:{
XML:$$("XML").value,
some more params
},
data: doc,
remoteSort: true});
这里我正在捕捉早期asp的响应,并进一步修改它将其发送到Web服务,
使用新添加的ajax返回与上述情况中返回的格式相同的xml(使用success: function{ alert etc}
检查),
但是“新的xml没有被送到网格,因为它在上面的情况下喂食”
没有错误被抛出..
使用extjs 3.4
请帮忙
答案 0 :(得分:0)
经过多次阅读解决,
问题是,我认为,ajax将使用HttpProxy使用的store.load
重新加载数据,在阅读和喧嚣后我得到它可能不适用于ajax,所以现在我使用store.loaddata
并且它有效。
var gridStore = new Ext.data.Store({
gridId :'d_grid',
reader: new Ext.data.XmlReader({ record: etc }, etc etc),
proxy: new Ext.data.HttpProxy({ url: "Forms.asp?",
timeout: 120000 ,
success: function (response) {
FilterXml = response.responseText;
created new XmlDoc= with somechanges(FilterXml)
Ext.Ajax.request({
method: 'POST',
url:'/mayo/Service.svc/GetnewXML',
params: {'strIPXML': XmlDoc.xml}
success: function (response) {
FormXML = PC.getXmlStr(response.responseXML);
doc = OrchGenericObj.GetXMLObj(FormXML, 0);
Ext.getCmp('dashboard_gd').store.loadData(doc);
} });
}}),
baseParams:{
XML:$$("XML").value,
some more params
},
data: doc,
remoteSort: true});