Ext.data.JsonStore加载数据时url中怎么带一个变量参数

我要做一个搜索框,根据搜索框中的内容筛选结果:
this.searchPanel = new HT.SearchPanel({
height : 60,
region : 'north',
border : true,
xtype : 'form',
id : 'BackgroundPicDisplaySearchPanel',
frame : true,
items : [{
layout : 'column',
columnWidth : 0.3,
items : [{
layout : 'form',
labelWidth : 40,
columnWidth : .30,
items : [{
xtype : 'textfield',
fieldLabel : '名称',
id : 'BackgroundPicDisplayName',
anchor : '70%',
listeners : {
scope : this,
specialkey : function(field, e) { // 监听enter键事件
if (e.getKey() == Ext.EventObject.ENTER) {
this.onSearch();
}
}
}
}]
},{
layout : 'form',
// labelWidth : 30,
columnWidth : .07,
items : [{
text : "查询",
scope : this,
iconCls : "btn-search",
xtype : "button",
handler : this.onSearch
}]
},{
layout : 'form',
//labelWidth : 120,
columnWidth : .10,
items : [{
text : "清空",
scope : this,
iconCls : "btn-reset",
xtype : "button",
handler : this.reset
}]
}]
}]
});
var BackgroundPicDisplayName=Ext.getCmp('BackgroundPicDisplayName').getValue();
// 加载数据至store
this.store = new Ext.data.JsonStore({
url : __ctxPath +"/commodity/commodityAction!listPic.do?BackgroundPicDisplayName="+BackgroundPicDisplayName,
root : 'result',
totalProperty : 'totalCounts',
remoteSort : true,
fields : ['picId', 'picName', 'picUrl']
});
store是这样写的,onSearch方法如下:
onSearch : function() {
// 验证表单
if (this.searchPanel.getForm().isValid()) {
this.store.reload();
}
}
可是后台接收到的BackgroundPicDisplayName值为undefined,如果将BackgroundPicDisplayName值写成一个固定的值如“aaa”就可以接收到,这样就没有搜索效果了,求大神解决

2个回答

这就是说明 var BackgroundPicDisplayName=Ext.getCmp('BackgroundPicDisplayName').getValue(); 你这个变量值得到的就是undefined

不是的,我在onSearch里面console.log(BackgroundPicDisplayName)是有值的,好像不能直接在store的url后面拼接,后来在onSearch的function内部加上如下内容就可以了
var url=__ctxPath +"/commodity/commodityAction!listPic.do?BackgroundPicDisplayName="+BackgroundPicDisplayName;
this.store.proxy = new Ext.data.HttpProxy({url:url});
this.store.reload();

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Ext.data.JsonStore的配置项中root和totalProperty
Ext.data.JsonStore的配置项中root和totalProperty中的值怎么获取啊急
Ext.data.JsonStore在load之后没有数据,但是响应显示有数据...
代码非常简单: [code="java"] Ext.onReady(function(){ var store = new Ext.data.JsonStore({ proxy:new Ext.data.HttpProxy({url:'comment!getCommentList.action'}), baseParams:{'topicId':'package_2=2-1-1'}, reader:new Ext.data.JsonReader({ totalProperty: "totalCount", root: "commentList", id: "ID"}, [{name: 'topicId', mapping: 'TOPIC_ID'}] ) }); store.load(); alert(store.getAt(0)); }); [/code] alert的时候是没有数据的. 但是我用findbugs却发现响应是我想要的: [img]/upload/attachment/133887/4492ce95-8b97-301d-9065-c1db4e1804eb.jpg[/img] 响应中的数据,我怎么load不到呢??为什么? 补充,生产响应大概是这样: [{ totalCount:1, commentList: [{ USER_ID:001, CONTENT:我是ADMIN,我最大, USER_NAME:Admin, ID:19, TOPIC_ID:package_2=2-1-1, TOPIC_NAME:AABBCC }] }] [b]问题补充:[/b] //---------------------------------------------------- 提示,我把JsonStore改成Store就好了.. 晕了~ 还有,返回的数据格式是 { total:100, root: [{...},{...},...{}] } 形式的. 我的json格式也不对. 就准备结帖了. 哪为大大能告诉我下.为什么Store可以,JsonStore就不行了,他们难道不是继承关系么~
Ext.data.JsonStore baseParams问题
在使用下面语句设置Store的参数时,后台(Struts2)接收到的中文会出现乱码的情况,请问是什么原因 combox.getStore().baseParams['c_name']=record.get('abbr_value');
【extjs】Ext.data.HttpProxy的问题,关于grid加载acion返回数据(struts2)
如题,初学extjs [code="java"] var store =new Ext.data.JsonStore({ autoLoad:true, proxy:new Ext.data.HttpProxy({url:"http://localhost:8080/rbs/Login_testLogin.action"}), // data:[{"id":1,"name":"图片","typeValue":"pic"},{"id":2,"name":"视频","typeValue":"avi"}], fields:["id","name","typeValue"], }) [/code] 上面的代码中,url里的action返回的string结果就是下面注释行中data的内容 但是当我使用注释行里写死的数据的时候,grid才能加载到数据,而用proxy获取action返回数据的时候,却不行 然后是action的代码 [code="java"] List<Types> lt = service.findListByParam("from Types types"); JSONArray jsonObject = JSONArray.fromObject(lt); outputStr = jsonObject.toString(); System.out.println(outputStr); PrintWriter out = ServletActionContext.getResponse().getWriter(); getResponse().setContentType("text/javascript;charset=GBK"); out.print(outputStr); return null; [/code]
Ext.data.GridPanel is not constructor 错误如何处理?
<pre name="code" class="java"> &lt;script type="text/javascript"&gt; Ext.onReady(function(){ var _grid=new Ext.data.GridPanel({ renderTo:Ext.getBody(), store:new Ext.data.JsonStore({ data:[{name:"余学武",age:31,sex:"男"},{name:"方丽",age:27,sex:"女"}], fields:["name","age","sex"] }), columns:[{header:'姓名',indexData:'name'},{header:'年龄',indexData:'age'},{header:'性别',indexData:'sex'}] }); }); &lt;/script&gt; </pre><br /><strong>问题补充</strong><br />找了很久都没有找到错在那里,请各位老大帮忙看看,谢谢了
Ext.data.JsonStore load() 与 reload() 的区别
这两个方法在用的时候感觉效果一样,但具体有什么区别呢?请了解的朋友给个答案吧。。谢谢啊!
【extjs3.2】grid重新加载jsonstore后,点击grid上的分页组件,grid不刷新
页面上有个combobox,grid,grid上有个pageToolbar用于分页。页面加载时,会将json数据加载到grid和pageToolbar里。 点击分页(此时有4页数据),grid能够正常分页显示。此时选择combobox,重新查询load store,grid和pageToolbar进行更新(此时有2页数据),点击下一页grid数据[b]没有更新显示下一页数据[/b]。附核心代码: 根据combobox加载jsonstore,更新grid [code="javascript"] function reload(status){ var url = String.format(queryUri + 'status.json?status={0}',status); var comboStore = createJsonStore(fields,url); comboStore.load( { params:{start:0, limit:pageSize}, callback:function(r,options,success){ if(success == true){ var isNull = comboStore.getAt(0) == null; if(isNull){ grid.store.removeAll(); grid.getView().refresh(); }else{ grid.store = comboStore; var pageTool = grid.getBottomToolbar(); pageTool.updateInfo(); pageTool.bindStore(grid.store); var topTool = grid.getTopToolbar(); topTool.bindStore(grid.store); grid.getView().refresh(); } }else{ Ext.MessageBox.alert("查询失败"); } } } ); } [/code] [code="javascript"] function createJsonStore(fileds,url) { var jsonStore = new Ext.data.JsonStore({ fields : fileds, root : 'root', totalProperty : 'totalCount', remoteSort : true, proxy : new Ext.data.ScriptTagProxy({ url : url }) }); return jsonStore; } [/code]
ext2.x中GridPanel本地数据分页的问题
由于数据量不多,大概3,40条,不分页又太长了,又不想服务器分页(很多东西写死了不好改),琢磨了一下怎么本地分页,还是没搞出来,请大家指点一下,我是用store的loadData把数据载入,PagingToolbar读到了数据,但是无法分页,也想不出来该怎么改了 [code="js"] cxtjFormPanel = Ext.extend(Ext.form.FormPanel,{ constructor:function(){ this.addEvents("query"); this.addEvents("reset"); cxtjFormPanel.superclass.constructor.call(this,{ autoHeight:true, baseCls:"x-plain", layout:"column", width:550, labelWidth:80, items:[ { columnWidth:.5, defaults:{width:160}, defaultType:"textfield", bodyStyle:"padding:5px", layout:"form", items:[ { fieldLabel:"案件登记序号", name:"ajdjXh", maxLength:14 },{ fieldLabel:"纳税人编码", name:"nsrbm", maxLength:20 } ] },{ columnWidth:.5, defaults:{width:160}, defaultType:"textfield", bodyStyle:"padding:5px", layout:"form", items:[ { fieldLabel:"案源登记序号", name:"aydjXh", maxLength:14 },{ fieldLabel:"纳税人名称", name:"nsrmc" } ] } ], buttons:[ { text:"查询", handler:function(){ try{ this.onQuery(); }catch(e){ return; } }, scope:this },{ text:"清空", handler:function(){ this.onReset(); }, scope:this } ] }); }, onQuery:function(){ if(this.getForm().isValid()) this.fireEvent("query",this.getForm()); else throw Error(); }, onReset:function(){ this.fireEvent("reset",this.getForm()); } }); ajxxGridPanel = Ext.extend(Ext.grid.GridPanel,{ data:null, constructor:function(){ this.addEvents("delete"); this.data = new Ext.data.JsonStore({ fields:["ajdjxh","aydjxh","nsrmc","ajmc","ajzt"] }), ajxxGridPanel.superclass.constructor.call(this,{ title:"案件信息列表", autoHeight:true, frame:true, width:660, loadMask:{msg:"正在加载,请稍后..."}, tbar:[ { text:"删除案件", handler:function(){ try{ this.onDelete(); }catch(e){ Ext.Msg.alert("提示","请选择要删除的案件!"); return; } }, scope:this },"-" ], columns:[ new Ext.grid.CheckboxSelectionModel(), {header:"案件编号",dataIndex:"ajdjxh",width:100}, {header:"案源编号",dataIndex:"aydjxh",width:100}, {header:"纳税人名称",dataIndex:"nsrmc",width:170}, {header:"案件名称",dataIndex:"ajmc",width:170}, {header:"案件状态",dataIndex:"ajzt",width:110} ], store:this.data, // bbar: new Ext.PagingToolbar({ // pageSize: 10, // store:this.data, // displayInfo: true, // displayMsg: '第{0} 到 {1} 条数据 共{2}条', // emptyMsg: "没有数据" // }), sm:new Ext.grid.RowSelectionModel({ singleSelect:true }) }); }, loadData:function(_data){ this.getStore().loadData(_data,false); }, onDelete:function(){ if(this.getSelectionModel().getCount()>0) this.fireEvent("delete",this,this.getStore(),this.getSelectionModel().getSelected()); else throw Error(); } }); ViewPanel = Ext.extend(Ext.Panel,{ form:null, grid:null, constructor:function(){ this.form = new cxtjFormPanel(); this.grid = new ajxxGridPanel(); ViewPanel.superclass.constructor.call(this,{ title:"删除案件信息", plain:true, frame:true, autoHeight:true, //height:450, items:[ this.form, this.grid ] }); } }); Ext.onReady(function(){ Ext.QuickTips.init(); Ext.form.TextField.prototype.msgTarget = "side"; var _view = new ViewPanel(); _view.render(Ext.getBody()); _view.form.on("query",function(_form){ //_form["waitMsgTarget"] = this.getEl(); _form.submit({ url:"/qt/qt036JcScajxxExt-query.pfv", waitMsg:"正在查询,请稍后...", success:function(_f,_a){ this.grid.loadData(_a.result.data); }, failure:function(_f,_a){ Ext.Msg.alert("错误","查询失败!"); }, scope:this }); },_view); _view.form.on("reset",function(_form){ _form.reset(); },_view); _view.grid.on("delete",function(_grid,_store,_record){ Ext.Msg.confirm("提示","是否删除案件["+_record.data.ajmc+"]?",function(_btn){ if(_btn=="yes"){ this.grid.getEl().mask("正在删除,请稍后..."); Ext.Ajax.request({ url:"/qt/qt036JcScajxxExt-delete.pfv", params:{ajdjXh:_record.data.ajdjxh,aydjXh:_record.data.aydjxh}, success:function(_response){ var _result = Ext.util.JSON.decode(_response.responseText); if(_result.state == "info"){ _store.remove(_record); } Ext.Msg.alert("提示",_result.message); this.grid.getEl().unmask(); }, failure:function(){ Ext.Msg.alert("错误","删除案件失败!"); this.grid.getEl().unmask(); }, scope:this }); } },this) },_view); }); [/code]
最近遇到一个Ext.Ajax.request的奇怪问题
最近在学Extjs,照着视频做了一个提交数据并且添加store的demo,却遇到一个奇怪的问题:添加第一次的时候没有问题,添加第二次的时候就向服务器发了2次请求,添加第3次的时候就向服务器发了3次请求,导致了,第二次添加了2个相同的,第三次添加了3个相同的,请大家帮我看下是哪有写得有问题 [code="js"] Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = "side"; PersonViewFormPanel = Ext.extend(Ext.form.FormPanel,{ constructor:function(){ PersonViewFormPanel.superclass.constructor.call(this,{ id:"form", layout:"form", defaultType:"textfield", baseCls:"x-plain", style:"padding:5px", defaults:{width:175}, width:240, height:85, labelWidth:45, items:[ {fieldLabel:"姓名",id:"name"}, {fieldLabel:"性别",id:"sex"}, {fieldLabel:"年龄",id:"age"} ] }); } }); PersonInfoFormPanel = Ext.extend(Ext.form.FormPanel,{ constructor:function(){ PersonInfoFormPanel.superclass.constructor.call(this,{ layout:"form", id:"info_form", defaultType:"textfield", baseCls:"x-plain", bodyStyle:"padding:5px", defaults:{width:150}, width:240, height:85, labelWidth:45, items:[ {fieldLabel:"姓名",id:"name",allowBlank:false,blankText:"姓名必须填写!",emptyText:"必填"}, { xtype:"combo", fieldLabel:"性别", emptyText:"请选择", hiddenName:"sex", displayField:"name", valueField:"value", triggerAction:"all", mode:"local", readOnly:true, store:new Ext.data.JsonStore({ fields:["value","name"], data:[{value:0,name:"男"},{value:1,name:"女"}] }) }, {fieldLabel:"年龄",id:"age"} ] }); }, getValues:function(){ if(this.getForm().isValid()) return new Ext.data.Record(this.getForm().getValues()); else throw Error("表单验证未通过!"); }, setValues:function(_record){ this.getForm().loadRecord(_record); }, reset:function(){ this.getForm().reset(); } }); InsertPersonInfoWindow = Ext.extend(Ext.Window,{ form:null, constructor:function(){ this.form = new PersonInfoFormPanel(); InsertPersonInfoWindow.superclass.constructor.call(this,{ title:"添加人员", closeAction:"hide", height:155, width:240, modal:true, plain:true, resizable:false, items:this.form, buttons:[ { text:"确定", handler:function(){ this.onSubmitClick(); }, scope:this },{ text:"取消", handler:function(){ this.onCancelClick(); }, scope:this } ] }); this.addEvents("submit"); }, close:function(){ this.form.reset(); this.hide(); }, onSubmitClick:function(){ try{ this.fireEvent("submit",this,this.form.getValues()); }catch(e){ Ext.Msg.alert("错误",e); } }, onCancelClick:function(){ this.close(); } }); PersonListGridPanel = Ext.extend(Ext.grid.GridPanel,{ InsertWindow:null, constructor:function(){ this.InsertWindow = new InsertPersonInfoWindow(); PersonListGridPanel.superclass.constructor.call(this,{ id:"grid", width:240, autoHeight:true, tbar:[ { text:"添加", handler:function(){ this.InsertWindow.show(); this.InsertWindow.on("submit",function(_window,_record){ Ext.Ajax.request({ url:"test5.pfv", params:_record.data, success:function(_response){ Ext.getCmp("grid").getStore().add( new Ext.data.Record(Ext.util.JSON.decode(_response.responseText))); _window.close(); } }); }); }, scope:this },"-", {text:"修改"},"-", {text:"删除"} ], columns:[ {header:"姓名",dataIndex:"name",width:80}, {header:"性别",dataIndex:"sex",width:80}, {header:"年龄",dataIndex:"age",width:80} ], store:new Ext.data.JsonStore({ autoLoad:true, fields:["name","sex","age"], url:"test4.pfv" }), sm:new Ext.grid.RowSelectionModel({ singleSelect:true, listeners:{ "rowselect":{ fn:function(_rsm,_index,_record){ this.fireEvent("rowselect",_record); }, scope:this } } }) }); this.addEvents("rowselect"); } }); Ext.onReady(function(){ var _grid = new PersonListGridPanel(); // var _form = new PersonViewFormPanel(); var _window = new Ext.Window({ renderTo:Ext.getBody(), title:"测试组件化编程", resizable:false, plain:true, frame:true, items:[ _grid ] }); _window.show(); // _grid.on("rowselect",function(_record){ // this.getForm().loadRecord(_record); // },_form); }); [/code] [code="java"] @RequestMapping(value="/test5.pfv") public void test5(HttpServletRequest request, HttpServletResponse response) throws Exception { String name = request.getParameter("name"); String sex = request.getParameter("sex"); String age = request.getParameter("age"); Map<String, String> map = new HashMap<String, String>(); map.put("name", name); map.put("sex", "0".equals(sex)?"男":"女"); map.put("age", age); JSON json = JSONObject.fromObject(map); json.write(response.getWriter()); [/code] [b]问题补充:[/b] 回复1楼,如果我把Ext.Ajax.request注掉,直接把record add到store里面又没有问题,不存在多次执行操作的问题
关于ext编码的问题.
数据库结构比如说是就一个id (int) ,name (ntext) 我也就做一个form的表格插入.一个读取. new Ext.form.FormPanel 的插入没有问题. 是一个xtype: "textarea",类型的name. 插入的时候有特殊字符.单引,双引,正斜杠,反斜杠,回车等等 而且已经写到数据库里了。也没有问题 但读去的时候我是用new Ext.data.JsonStore读取的 着时候读取就会报json格式不对.因为里面不能有特殊字符 我把name 在代码中处理了一下 Server.HtmlEncode( value).Replace(@"\",@"\\") //着是.net代码的服务器端程序 这样可以读到new Ext.data.JsonStore里面了. 但绑定的时候显示却又出了问题.显示的也是经过编码的内容. 而且因为name是xtype: "textarea",回车不能处理的话也挺难看的.求个解决方法. 其实就是求大家给个解决方法.能有代码例子更好.
Ext的grigPanel在请求url的时候是否可以带参数?怎么带?
pcc.ringin.store = new Ext.data.JsonStore({ root : 'root', totalProperty : 'totalProperty', url : 'pcc/account!searchByPlayerName', fields : ['accountId', 'phone', 'productName', 'playerWhere', 'commingAddr', 'question.questionTitle'] }); 在此url中是否可以带参数到后台,或者有什么别的方式? 可以的话麻烦写个例子,为谢!
一个很奇葩怪事!
Ext.require(['Ext.data.*']); Ext.require(['Ext.util.*']); Ext.require(['Ext.Ajax']); Ext.onReady(function() { window.generateData = function(){ var data = [], i; //普通的ajax取数据 Ext.Ajax.request({ url: 'spiderchart', params: { LoginName:1 }, success: function(response) { var responseArray = Ext.decode(response.responseText); for (i = 0; i < 5; i++) { data.push({ name:'sdf', data1: i }); } } }); alert(data); //关键在这一行,我要是留在这什么问题都没有,要是把它删了,我画的图就是显示不出来, //谁能帮我想想是为啥呢?? return data; }; window.store = Ext.create('Ext.data.JsonStore', { fields: ['name', 'data1'], data: generateData() }); });
Ext3.0中EditorGridPanel提交修改后台如何接收
<p>我用Ext3.0的EditorGridPanel,数据源定义如下:</p> <pre name="code" class="js">var store = new Ext.data.JsonStore({ root: 'dataObj', totalProperty: 'totalCount', idProperty: 'id', remoteSort: true, autoSave:false, fields: [ 'id', 'name', 'categoryId','descn', {name:'price', type:'float'}, {name: 'publishDate', type: 'date', dateFormat: 'Y-m-d'} ], //url: '/griddemo/grid/extgrid.do' proxy : new Ext.data.HttpProxy({ method: 'GET', listful: true, //prettyUrls: false, url: '/griddemo/grid/extgrid.do', api: { // all actions except the following will use above url //read : '', create : '/griddemo/grid/extgrid/add.do', update : '/griddemo/grid/extgrid/update.do', destroy : '/griddemo/grid/extgrid/del.do' } }), writer: new Ext.data.JsonWriter({ encode: true, writeAllFields: false }) });</pre> <p> 当点击按钮触发事件方法,调用store.save()方法提交到'/griddemo/grid/extgrid/update.do',后台将如何接收提交的修改?后台使用Java</p>
ExtJs JsonStore 配置问题
[code="java"] var store = new Ext.data.JsonStore({ url: "gridPanelController.do?method=getGridMap", //请求URL storeId: "myStore", //store的id root: "fenyeList", //对应数据集的JSON KEY idProperty: "id", //主键的KEY //autoLoad : true, //自动加载 totalProperty: "fenyeCount", //配置与返回的JSON数据的映射 name为store对应的 key mapping为返回JSON数据的KEY fields : [ {name: 'fid', mapping: 'id'}, {name: 'fname', mapping: 'name'}, {name: 'fsalary', mapping: 'salary'}, {name: 'fcreateDate', mapping: 'createDate'} ] });[/code] 上边写的再girdPanel中加载没问题。可以显示出数据,但是下面的写法就显示不出数据不知道为什么 [code="java"] var store = new Ext.data.JsonStore({ url: "gridPanelController.do?method=getGridMap", //请求URL reader : new Ext.data.JsonReader({ storeId: "myStore", //store的id root: "fenyeList", //对应数据集的JSON KEY idProperty: "id", //主键的KEY //autoLoad : true, //自动加载 totalProperty: "fenyeCount", //配置与返回的JSON数据的映射 name为store对应的 key mapping为返回JSON数据的KEY fields : [ {name: 'fid', mapping: 'id'}, {name: 'fname', mapping: 'name'}, {name: 'fsalary', mapping: 'salary'}, {name: 'fcreateDate', mapping: 'createDate'} ] }) });[/code]
JsonStore数据请求方式,可以获得Response,却无法读出json格式数据..
我的登录页面,利用extJS的JsonStore组件向Server发送数据,验证用户名密码,然后Server返回将要跳转的页面URL(登录成功或失败页面). 客户端登录表单的【登入】按钮响应以上过程,以下是js代码: [code="js"] buttons : [{ text : '登入', handler : function() { var username = Ext.get('name').getValue(); var pwd = Ext.get('password').getValue(); var store = new Ext.data.JsonStore({ proxy : new Ext.data.HttpProxy({ url : 'logon.do' + '?username=' + username + '&pwd=' + pwd, method : 'GET' }), reader : new Ext.data.JsonReader({ root : 'rows', id : 'id', totalProperty : 'counts', fields : ['topage'] }) }); store.load(); if (store.getAt(0) != null) { Ext.Msg.alert('Info', '共获得'+store.getCount()+'条数据'); window.open(store.getAt(0).get('topage'), '_blank'); } } } [/code] 以下是Server端业务处理代码: [code="java"] public class LogonController extends HttpServlet{ String pageurl=""; String json=""; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{ response.setContentType("application/x-json;charset=UTF-8"); String username = request.getParameter("username"); String pwd = request.getParameter("pwd"); if(username.equals("jerry") && pwd.equals("1")){ pageurl="http://localhost:8080/hrms/index.html"; }else pageurl="http://localhost:8080/hrms/failure.html"; PrintWriter writer = response.getWriter(); System.out.println(writer.toString()); JSONObject jObj = new JSONObject(); jObj.put("topage",pageurl); json = jObj.toString(); System.out.println(json); writer.write(json); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ doGet(request,response); } } [/code] 通过测试,发现store对象中没有获取到数据(store.getCount()为空),利用FireBug调试,得到以下结果: [img]/upload/attachment/67084/da5a4590-3d40-3015-ba43-93946e6bf5c6.jpg[/img] 说明客户端得到了response,但是json格式的数据没有被解析。 若将store.getAt(0)提出来单独执行,FireBug调试却又得到如下结果: [img]/upload/attachment/67087/d6ead45e-c98e-386e-9b64-7461f271d330.jpg[/img] 请各位给断断,这是怎么回事?谢谢哈。 [b]问题补充:[/b] rain2005: 注释掉也是不行啊,服务器应该是返回一个js页面的吧,这样json才能封装为对象。
在Ext 的Toolbar中怎样加入一个定义好的Combox?
在Ext 的Toolbar中怎样加入一个定义好的Combox? Combox 的 mode=‘remote’ [b]问题补充:[/b] 点击时报错: this.proxy is undefined 。在其它模块也是这么引入没有问题。 我的代码: //数据源 var swjg_store = new Ext.data.JsonStore({ url:'swjg.do?method=execute&swjg='+Ext.get('swjg').dom.value, root:'results', fields:['swjg_dm','swjg_mc'] }); swjg_store.load(); var combo = new Ext.form.ComboBox({ hiddenName:'swjg', store: new Ext.data.SimpleStore({ fields: ['swjg_dm','swjg_mc'], data:swjg_store }), valueField:'swjg_dm', displayField:'swjg_mc', typeAhead:true, mode:'remote', triggerAction:'all', emptyText:'请选择机构', selectOnFocus:true, allowblank:false, width:200 }); //工具栏 var toolbar = new Ext.Toolbar( [{ text: 'fsdfsd' }, combo] ); [b]问题补充:[/b] 哪 store 该如何写呢?
Ext combobox级联监听clearValue()出现问题
<pre name="code" class="java">var categoryStore = new Ext.data.JsonStore({ id:'categoryStore', url:'PCM/getmaindata.action?parentId='+adPublicize_category, root:'root', fields: ['typecode','typename'] }); categoryStore.load(); var ggf_cost_categoryCombo = new Ext.form.ComboBox({ id : 'cost_category', labelStyle : 'text-align:right', fieldLabel : '费用类别', anchor : '100%', editale : false, readOnly : true, emptyText : '--请选择费用类别--', displayField : 'typename', valueField:'typecode', mode : 'local', triggerAction : 'all', store : categoryStore, listeners:{ select : function(combo, record,index) { Ext.getCmp('cost_project').clearValue(); //可以实现当队下拉值变更时,清空之前费用项目下拉选项中的值 projectStore.proxy= new Ext.data.HttpProxy({url: 'PCM/getmaindata.action?parentId=' + combo.value}); //根据队下拉选项的改变,动态取出对应的井 projectStore.load(); //加载费用项目store } } }) var projectStore = new Ext.data.Store({ //费用项目选择下拉框 proxy: new Ext.data.HttpProxy({ url: 'dsdd' //这里是参数可以随便写,这个数据源是在第一个下拉框select的时候load的 }), reader: new Ext.data.JsonReader({ root: 'root' }, [ {name: 'typename'}, {name: 'typecode'} ]) } ); projectStore.load(); var ggf_cost_projectCombo = new Ext.form.ComboBox({ id : 'cost_project', labelStyle : 'text-align:right', fieldLabel : '费用项目', anchor : '100%', editale : false, displayField : 'typename', valueField:'typecode', mode : 'local', triggerAction : 'all', readOnly : true, emptyText : '--请选择费用项目--', store : projectStore }) 出现'this.el.dom' 为空或不是对象 问题 </pre>  
下面ext代码怎样实现分页
Ext.onReady(function(){ var store=new Ext.data.JsonStore({ url: 'ExtJson', fields:["id","sex","name"] }); var columns = new Ext.grid.ColumnModel([ {header: '学号', dataIndex: 'id'}, {header: '性别', dataIndex: 'sex'}, {header: '姓名', dataIndex: 'name'} ]); var grid = new Ext.grid.GridPanel({ renderTo:"json", title: '学生信息列表', region: 'center', height:300, loadMask: true, store: store, cm: columns, sm: new Ext.grid.RowSelectionModel({singleSelect:true}), viewConfig: { forceFit: true }, bbar: new Ext.PagingToolbar({ pageSize:3, store: store, displayInfo: true }) }); store.load(); Ext.get("json").show(); });
extjs中通过this获取对象
下拉框里面有一个jsonstore对象,在监听里如何获得combobox对象。 'var aNetElement = new Ext.form.ComboBox({ fieldLabel : "A端网元" + i, id : "aNetElement" + i, emptyText : '请选择...', isFormField : true, anchor : '90%', mode : 'local', editable : false, emptyText : '请选择...', forceSelection : true, triggerAction : 'all', displayField : 'NAME', valueField : 'CODE', allowBlank : false, store : new Ext.data.JsonStore({ autoLoad : true, url : "/dodeal/queryNetElement", fields : new Ext.data.Record.create([ 'CODE', 'NAME' ]), listeners:{ load: function() { // alert(this.ownerCt.fieldLabel); store没有ownerCt属性 // alert(Ext.getCmp("aNetElement" + (i - 1)).getValue()); id是通过i构造出来的,这种方法不行 } } }) });'
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
python学习方法总结(内附python全套学习资料)
不要再问我python好不好学了 我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包也没啥问题。。。。。所以python真的是想学就一定能学会的!!!! --------------------华丽的分割线-------------------------------- ...
python 简易微信实现(注册登录+数据库存储+聊天+GUI+文件传输)
socket+tkinter详解+简易微信实现 历经多天的努力,查阅了许多大佬的博客后终于实现了一个简易的微信O(∩_∩)O~~ 简易数据库的实现 使用pands+CSV实现数据库框架搭建 import socket import threading from pandas import * import pymysql import csv # 创建DataFrame对象 # 存储用户数据的表(...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
Python实例大全(基于Python3.7.4)
博客说明: 这是自己写的有关python语言的一篇综合博客。 只作为知识广度和编程技巧学习,不过于追究学习深度,点到即止、会用即可。 主要是基础语句,如三大控制语句(顺序、分支、循环),随机数的生成,数据类型的区分和使用; 也会涉及常用的算法和数据结构,以及面试题相关经验; 主体部分是针对python的数据挖掘和数据分析,主要先攻爬虫方向:正则表达式匹配,常用数据清洗办法,scrapy及其他爬虫框架,数据存储方式及其实现; 最后还会粗略涉及人工智能领域,玩转大数据与云计算、进行相关的预测和分析。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
JavaScript 为什么能活到现在?
作者 | 司徒正美 责编 |郭芮 出品 | CSDN(ID:CSDNnews) JavaScript能发展到现在的程度已经经历不少的坎坷,早产带来的某些缺陷是永久性的,因此浏览器才有禁用JavaScript的选项。甚至在jQuery时代有人问出这样的问题,jQuery与JavaScript哪个快?在Babel.js出来之前,发明一门全新的语言代码代替JavaScript...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
相关热词 c#中dns类 c#合并的excel c# implicit c#怎么保留3个小数点 c# 串口通信、 网络调试助手c# c# 泛型比较大小 c#解压分卷问题 c#启动居中 c# 逻辑或运算符
立即提问