问题描述
Ext.define('Winfo.store.Sites', {extend : 'Ext.data.Store',requires : ['Winfo.model.Site'],model : 'Winfo.model.Site',autoLoad:true,remoteSort : true,pageSize : 25,//autoSync : true,proxy : {type : 'ajax',api : {read : siteService.asp?act=read',update : siteService.asp?act=update'}, reader: { type: 'json', root : 'records', successProperty: 'success' }, writer: { type: 'json', writeAllFields: true, encode: false, root : 'records' }},initComponent : function() {var me=this;me.callParent(arguments);}});請問各為ExtJS前輩..小弟目前正学习使用ASP + ExtJS4 这期间碰到了一些问题...找了许久都没找到答案,希望大大沉余之时拨空能够给小弟一些方向或是参考的范例文件我在store(如上)我使用了Proxy type:ajax 可以使前台的Grid 透透 Store 的Proxy API:read 成功的与后台(ASP)取得资料但当我编辑Grid(Ext.grid.plugin.CellEditing)时,用Firebug 查看只有_dc xxxxxxxxxxxx 的参数,但有一个post {"records":[{"cell_fa_index":"1","id":"100001_2"}]}而我使用下列程式码测试取得传过来的参数FOR each item in Request.Form response.write ItemNext只有_dc 这参数但无法取得 {"records":[{"cell_fa_index":"1","id":"100001_2"}]}请问要如何在后台(ASP),接收前台传过来的资料呢??感谢大大....
解决方案
你想问的是store怎么把参数传到后台么?store有个getProxy方法,getProxy( ) : Ext.data.proxy.ProxyReturns the proxy currently attached to this proxy instanceReturns Ext.data.proxy.Proxy The Proxy instance得到这个store的proxy对象,然后调用extraParams方法可以动态设置参数。extraParams : ObjectExtra parameters that will be included on every request. Individual requests with params of the same name will override these params when they are in conflict.这样用store.getProxy().extraParams={siteid: site_no,//这里面是你想要传的参数,:号前面是对应request中的参数名sitename: site_name,//字,我不知道asp在后台是怎么从request中取得参数的cellid: cellid,//:号后面是你再页面上定义的变量,也就是想传回去的参数值cellname: cellname};getXqStore.load();