服务器端代理:
- Ajax:在当前域中发送请求
- JsonP:跨域的请求
- Rest:与服务器进行RESTful(GET/PUT/POST/DELETE)交互
- Direct:使用 Ext.direct.Manager 发送请求
web应用程序开发过程中,与服务器端交互的技术最常用的就是Ajax了。Ajax 是使用Javascript创建一个HttpRequest,采用异步的方式从服务器获取数据。
Ext.onReady(function () {
// 定义数据模型 Ext.define('Person', { extend: 'Ext.data.Model', fields: ['name', 'age'] });
// 一个包含AjaxProxy代理的Store, 使用参数方式绑定 var store = Ext.create('Ext.data.Store', { model: 'Person', proxy: { type: 'ajax', url: rootUrl + 'sample/getjson', reader: { type: 'json', // 用来对服务器端响应数据进行解码,或从客户端读取数据。 root: 'users' // 对应服务器端返回的数据节点 } } });
// 当调用load()方法的时候,store会使用ajax的方式异步的请求url store.load({ page: 2, // 配置请求参数,通过传递这些参数,我们可以完成分页、查询等操作。 limit: 10, params: { name:'QF' }, callback: function (records, operation, success) { if (success) { var msg = []; store.each(function (person) { msg.push(person.get('name') + ' ' + person.get('age')); }); Ext.MessageBox.alert('提示', msg.join('<br />')); } } }); var msg = []; store.each(function (person) { msg.push(person.get('name') + ' ' + person.get('age')); }); Ext.MessageBox.alert('提示', msg.join('<br />')); });