ExtJS4.2 php版を学ぶ(六)

2579 ワード

ExtJS Ext.data.proxy.Memory
//    
Ext.define('User', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'id',    type: 'int'},
        {name: 'name',  type: 'string'},
        {name: 'phone', type: 'string', mapping: 'phoneNumber'}
    ]
});

//    
var data = {
    users: [
        {
            id: 1,
            name: 'Ed Spencer',
            phoneNumber: '555 1234'
        },
        {
            id: 2,
            name: 'Abe Elias',
            phoneNumber: '666 1234'
        }
    ]
};

//  Ext.data.Store
var store = Ext.create('Ext.data.Store', {
    autoLoad: true,
    model: 'User',
    data : data,
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'users'
        }
    }
});

store.each(function(result){
	console.log(result);
});

extjsのLocalStorageはhtml 5のLocalStorageのAPIを使用しています
Ext.define('Search', {
    fields: ['id', 'query'],
    extend: 'Ext.data.Model',
    proxy: {
        type: 'localstorage',
        id  : 'twitter-Searches'
    }
});

var store = Ext.create("Ext.data.Store",{
		model:"Search"	
});

store.load();
store.add({query:"sadsad"});
store.sync();
store.each(function(result){
		console.log(result);
});

extjsのsessionstorage chromeブラウザの次のラベルは独立したファイルです
Ext.define('Search', {
    fields: ['query'],
    extend: 'Ext.data.Model',
    proxy: {
        type: 'sessionstorage',
        id  : 'myOtherProxyKey'
    }
});

var store = Ext.create("Ext.data.Store",{
		model:"Search"	
});


store.load();
store.add({query:"sadsad"});
store.sync();
store.each(function(result){
		console.log(result);
});

extjsのajax方式
Ext.define('User', {
    extend: 'Ext.data.Model',
    fields: ['id', 'name', 'email']
});

var store = Ext.create('Ext.data.Store', {
    model: 'User',
    proxy: {
        type: 'ajax',
        url : 'user.php'
    }
});

store.load({
    scope: this,
    callback: function(records, operation, success) {
        console.log(records);
    }
});

php
$arr = array(
	"name" => "sads",
	"age" => 12
);

$data = json_encode($arr);
echo $data;