ExtJS4.2 php版を学ぶ(六)
2579 ワード
ExtJS Ext.data.proxy.Memory
extjsのLocalStorageはhtml 5のLocalStorageのAPIを使用しています
extjsのsessionstorage chromeブラウザの次のラベルは独立したファイルです
extjsのajax方式
php
//
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;