Im ищет учебник или пример для sencha touch 2 MVC STORE, который занимается связью Jsonp и получает данные оттуда, ТОЛЬКО MVC BASE. Мне нужно узнать, как взаимодействуют Store, Model, Controller и View друг с другом в структуре на основе MVC. любое предложение ? Мне нужно понять, как получать и работать с jsonp-ссылками и данными, спасибоSencha touch 2 MVC Store
ответ
Загрузите sencha touch 2 и найдите пример oreilly. В этом примере в панели «Описание» панели «Объявления» загружаются данные из хранилища (тип читателя - jsonp). Также вы должны проверить другие примеры, такие как touchtweets, geocongress, navigationview и т. Д. Я думаю, что это лучший способ для начала.
Я нашел, что в документации есть много хороших руководств по пониманию структуры MVC sencha touch, а также каждой отдельной темы, такой как магазины и модели.
MVC в глубине часть 1: http://docs.sencha.com/touch/2-0/#!/video/mvc-part-1
MVC в глубине часть 2: http://docs.sencha.com/touch/2-0/#!/video/mvc-part-2
Документах также иметь направляющую секцию, которая идет через все, что вам нужно знать тоже. http://docs.sencha.com/touch/2-0/#!/guide
Простой пример модели, сохранять и просматривать с помощью JSONP
Как JSONP выглядит.
callback({"Message":"Success","Post":[{"id":"35","UserId":"faisalkhalid690","Content":"lol","Time":"2013-12-03 05:28:15"},{"id":"50","UserId":"faisalkhalid","Content":"asdfasdfasdf","Time":"2013-12-03 05:52:27"},{"id":"51","UserId":"faisalkhalid","Content":"sadfasdfasdf","Time":"2013-12-03 05:52:38"},{"id":"52","UserId":"faisalkhalid","Content":"holloa","Time":"2013-12-03 05:52:50"},{"id":"70","UserId":"faisalkhalid690","Content":"hello","Time":"2013-12-04 23:22:52"}]});
Модель для этого JSONP.
Ext.define('talkbag.model.Comments', {
extend: 'Ext.data.Model',
config: {
idProperty: 'id',
fields: [
{ name: 'id', type: 'auto' },
{ name: 'UserId', type: 'auto' },
{ name: 'Content', type: 'auto' },
{ name: 'Time', type: 'auto' }
]
}
});
Магазин:
Ext.define('talkbag.store.Comments', {
extend:'Ext.data.Store',
storeId:'Comments',
config:{
autoLoad: true,
model:'talkbag.model.Comments',
proxy: {
type: 'jsonp',
url : 'http://www.litemake.com/ViewComments.php?Pid='+talkbag.User.PostId,
reader: {
type: 'json',
rootProperty: 'Post'
}
}
}
});
Вид:
Ext.define('talkbag.view.ViewPost.ViewCommentDetail', {
xtype:'ViewCommentDetail',
extend:'Ext.dataview.List',
config:{
store:'Comments',
itemTpl:'<table><tr><td width="80px"><table align="center"><tr><td align="center"><img src="http://www.litemake.com/getPic.php?userId={UserId}" heigth="30px" width="30px"/></td></tr><tr><td style="font-size:0.6em">{UserId}</td></tr></table></td><td style="padding-left:20px"><table><tr><td style="font-size:0.7em; padding:0px 0px 5px 0px">{Content}</td></tr><tr><td style="font-size:0.5em">{Time}</td></tr></table></td></tr></table>'
}
});
Если вам нужна информация о JSONP - стороне сервера, то есть смотреть на the Sencha Touch API (JSONP)
Здесь вы можете найти методы serveride для обработки вашего запроса JSONP для общих языков программирования на стороне сервера, таких как PHP, Java или ASP.net.
Для PHP это будет выглядеть следующим образом:
// From your Sencha JSONP Store, you will get a callback parameter which we
// need to put in our $callback var, for later usage.
$callback = $_REQUEST['callback'];
// Create the output object.
// this could also be a database output, but remember to
// convert it into an array
$output = array('a' => 'Apple', 'b' => 'Banana');
// start output
// this section switches between a jsonp callback or usual json output.
if ($callback) {
header('Content-Type: text/javascript');
echo $callback . '(' . json_encode($output) . ');';
} else {
header('Content-Type: application/x-json');
echo json_encode($output);
}
Как Фейсал Халид уже сказал, вывод будет выглядеть ...
myCallbackName({
"message":"success",
"total":2,
"data":[
{"prename":"Bob","lastname":"example"},
{"prename":"John","lastname":"Beard"}
]
});
... где вы определили myCallbackName как имя обратного вызова в приложении sencha (конфигурация магазина).
Конфиг называется callbackKey и устанавливается в обратного вызова по умолчанию.
- 1. Sencha Touch 2 Store TypeError
- 2. Array store Sencha Touch 2
- 3. Sencha Touch 2 change rootproperty of store
- 4. Sencha touch 2. Создание сетки MVC
- 5. sencha touch store номер фильтра
- 6. Sencha Touch store sync callback
- 7. sencha touch 2 оптимизация
- 8. Sencha Touch 2 Проводка событий MVC
- 9. getStore(); undefined Sencha Touch 2
- 10. Sencha Touch 2 form
- 11. Sencha Touch 2 Grid
- 12. Sencha Touch 2 HtmlEditor
- 13. Sencha touch 1.1 или 2
- 14. Sencha Touch 2 список/магазин
- 15. Sencha Touch 2 Store - изменить ответ перед созданием моделей
- 16. String to the Store в Sencha Touch 2
- 17. Sencha Touch 2 List Reload
- 18. Sencha Touch 2 - вид переключателя
- 19. Sencha Touch Store Добавить заменяет запись 1
- 20. Sencha Touch 2.1 Store Memory Memory Leak
- 21. Sencha Touch 1.1.1 вложенная загрузка JSON Store
- 22. Sencha Touch 2 или DHTMLX Touch
- 23. Sencha Touch 2 vs DHTMLX Touch
- 24. Sencha Touch 2 & webkit-overflow-scrolling: touch
- 25. Sencha Touch 2 android performance
- 26. Sencha Touch 2 "TouchStyle" Пример
- 27. CORS with Sencha Touch 2
- 28. Sencha Touch 2 Список поиска
- 29. Sencha Touch 2 app multilanguage
- 30. Кнопка «Назад» Sencha Touch 2
Sposibo bolshoe drug :) eto Sencha zakalibala menya –