Ext Store Proxy Ajax

使用Store ajax的方式来获取数据

    Ext.onReady(function() {
        var store = new Ext.data.JsonStore({
            // store configs
            storeId: ‘myStore‘,
            autoLoad: true,
            proxy: {
                type: ‘ajax‘,
                url: ‘getImage.php‘,
                reader: {
                    type: ‘json‘,
                    root: ‘images‘,
                    idProperty: ‘name‘,
                    //getData的函数最先触发
                    //这里配置过getData就相当于把数据取走了
                    //后面on事件  函数就不能通过records取到数据了 还是可以通过store.getProxy().getReader().rawData去到数据
                    // afterRequest 则根本取不到数据
                    // getData: function(data){
                    //     console.log(‘getData in reader‘);
                    //     console.log(data);
                    // }
                },
                afterRequest: function(req, res) {
                    console.log("After Request!", req.operation.response);
                }
            },

            //alternatively, a Ext.data.Model name can be given (see Ext.data.Store for an example)
            fields: [‘name‘, ‘url‘, {
                name: ‘size‘,
                type: ‘float‘
            }, {
                name: ‘lastmod‘,
                type: ‘date‘
            }]
        });
        store.load();
        //会调用多次..
        store.on({
            ‘load‘: function(store, records, success, opts) {
                console.log(‘on1‘);
                console.log(success);
                //records 是 []
                console.log(records);
                //PS rawData是一个{}
                console.log(store.getProxy().getReader().rawData);
            }
        }, this, {single:true});
        store.on(‘load‘, function(store, records, success, eOpts ){
            console.log(‘on2‘);
            console.log(success);
            console.log(records);
            console.log(store.getProxy().getReader().rawData);
        });
        store.load({
            callback: function(records, opts, success) {
                console.log(‘load‘);
                console.log(success);
                console.log(records);
            }
        });
        // console.log(store);
    });
时间: 2024-11-09 01:04:15

Ext Store Proxy Ajax的相关文章

ExtJS 4 【Ext.data.proxy.Ajax】

namespace ExtJSProject.WebApi.Models { [Serializable] [DataContract] public class Person { [DataMember] public string Name { get; set; } [DataMember] public int Age { get; set; } } }   namespace ExtJSProject.WebApi.Controllers { [RoutePrefix("api/Per

ext store remove old datas load new datas优化

ext4.2 需求: 清空store1的数据,并把store2的数据加载到store1中.速度太慢,需要优化.原始代码: var start1 = new Date().getTime(); anlyGridStore.removeAll(); var start2 = new Date().getTime(); console.log(start2-start1); //614 analyses.each(function (record) { data.push(record); }); v

Sencha Touch 2.2 Store Proxy 异常监控

移动端到服务端通信往往会发生很多莫名的异常情况,如何有效的监控proxy异常,给用户友好的用户体验呢? Proxy给我提供了异常exception的监听事件,只需要监控该项目即可. Sencha Touch Store的基类如下: Ext.define('HzyApp.store.Base', { extend: 'Ext.data.Store', config: { proxy: { scope: this, listeners: { exception: function (proxy, r

EXT学习笔记--Ajax

1.Ext.Ajax.request Ext.Ajax.request({ url : '...', //请求路径 success:function(response, opts) { //服务端返回请求成功执行 ... }, failure : function(response, opts) { //服务端返回请求失败执行 ... } }); 若需要提交表单,只需要在url路径下加    from : '...',

Ext.store.load callback

var paramsReceivable = {};                paramsReceivable.querytext = Ext.getCmp('hiddquerytext').getValue();                gridReceivable.store.load({                    params: paramsReceivable,                    callback: function (r, options,

ExtJs4学习(七)数据代理Proxy

Ext数据代理我们介绍常用的五种 Ext.data.proxy.Ajax AjaxProxy(Ajax数据代理类)是你的应用程序中使用最广泛的获取数据的方式. 它使用AJAX请求来从服务器获取数据, 然后通常将它们放入 Store中. 让我们来看一个典型的配置. 这里我们为一个Store设置一个AjaxProxy代理. 首先我们准备好一个 Model: Ext.define('User', { extend: 'Ext.data.Model', fields: ['id', 'name', 'e

Extjs4中的store

Extjs 4引入新的数据包,其中新增了不少新类并对旧有的类作出了修整.使数据包更强大和更容易使用. 本章我们将学习一下内容: 2.1. 概述新特性 Extjs4的数据包引入了如Model类的新特性.同时对Store和Proxy类进行了修整.大部分的修整都是向后兼容的.最大的变化是在Record.Store和Proxy类中.Extjs4的数据包是其中一个与Sencha Touch共享的包. Model是数据包中其中一个最重要的类.它的前身是Record类.现在我们可以通过Model类来代表现实对

Extjs4 使用store的post方法

Extjs4 使用store的post方法 引用官网的一句话 Now when we call store.load(), the AjaxProxy springs into action, making a request to the url we configured ('users.json' in this case). As we're performing a read, it sends a GET request to that url (see actionMethods 

ExtJS笔记 Proxy

Proxies are used by Stores to handle the loading and saving of Model data. Usually developers will not need to create or interact with proxies directly. proxy被Store使用以实现加载和保存model数据.通常,开发者不需要直接创建代理或代理交互. Types of Proxy   代理的类型 There are two main type