`
chenxueyong
  • 浏览: 337412 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

《ExtJS2.0实用简明教程》之与服务器交互 extjs Ext.Ajax.request({})

阅读更多
var store=new Ext.data.Store({



url:"hello.xml", 



reader:new Ext.data.XmlReader({



record:"row"},



["id","name","organization","homepage"])



});

        因为Sote组件接受一个参数url,如果设置url,则ExtJS会创建一个与服务器交互的Ext.data.HttpProxy对象,该对象通过指定的Connection或Ext.Ajax.request来向服务端发送请求,从而可以读取到服务器端的数据。
        经验表明,服务器端产生JSon数据是一种非常不错的选择,也就是说假如服务器的url“student.ejf?cmd=list”产生下面的JSON数据输出:

{results:[{id:1,



name:'小王',



email:'xiaowang@easyjf.com',



sex:'男',



bornDate:'1991-4-4'},



{id:1,



name:'小李',



email:'xiaoli@easyjf.com',



sex:'男',



bornDate:'1992-5-6'},



{id:1,



name:'小兰',



email:'xiaoxiao@easyjf.com',



sex:'女',



bornDate:'1993-3-7'} 



]



}

        则前面显示学习信息编辑表格的store可以创建成下面的形式:

var store=new Ext.data.Store({



url:"student.ejf?cmd=list", 



reader:new Ext.data.JsonReader({



root:"result"},



["id","name","organization","homepage"])



}); 



或者:



var store=new Ext.data.JsonStore({



url:"student.ejf?cmd=list", 



root:"result",



fields:["id","name","organization","homepage"]});

        其中root表示包含记录集数据的属性。
        如果在运行程序中需要给服务器端发送数据的时候,此时可以直接使用ExtJS中提供的Ext.Ajax对象的request方法。比如下面的代码实现放服务器的student.ejf?cmd=save这个url发起一个请求,并在params中指定发送的Student对象:

function sFn()



{



alert('保存成功');



}



function fFn()



{



alert('保存失败');



}



Ext.Ajax.request({



   url: 'student.ejf?cmd=save’



   success: sFn



   failure: fFn,



   params: { name: '小李',email: ' xiaoli@easyjf.com',bornDate: ' 1992-5-6',sex: '男'}



});
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics