Вопрос

Каковы основные преимущества ext.direct через регулярные вызовы ext.ajax?Когда я должен учитывать, используя один над другим?

Это было полезно?

Решение

Действительно, это зависит от вашего спина, что вы хотите сделать, а что соответствует вашей ситуации. Вопрос, который вы подарили его довольно расплывчатым, поэтому мой ответ может сделать только для вас, я боюсь. Лучшее, что вы можете сделать, это посмотреть на страницы API для Ext.Direct и Ext.ajax. Ext.direct был (в прошлый раз, когда я выглядел) очень хорошо документирован, как есть .ajax, однако, не много для .ajax.

ext.direct - Я начал реализовать это на моей последней работе, и все-во-все это была пита, чтобы встать и бежать, однако преимущества после того, как были довольно аккуратно. Ext.direct позволяет вызвать сервер для выполнения методов, которые определяются как API, который вы проходите к EXT в форме объекта JSON. Эти методы затем подвергаются вашему применению:

 // Server-side
 class MyDirectRouter
 {
     public function GetNames(){
        // Get some names from the database
        return $names;
     }
 }

 // Client-side - also, not sure on exact configs here so 
 // you should do your homework
 var store = Ext.create('Ext.data.DirectStore', {
   // blah blah configs
   proxy: {
       url: '/my/direct/router/GetNames',
       type: 'direct'
 });
.

Магазин попросит сервер позвонить в указанный метод, и сервер даст хранилище ответа. Вы можете делать некоторые аккуратные вещи, и имея легко доступную и открытую API экономит вам много головной боли от настройки ваших пользовательских маршрутов, контроллеров и т. Д.

ext.ajax Имя говорит все это: ajax. Делает звонок на страницу на вашем сервере и возвращает ответ. Главное отличие вот в том, что это вызывает страницу, а не метод. Страница может выполнять любое количество вещей (и, конечно, метод может тоже может), но страница несет ответственность за форматирование вывода - JSON, XML и т. Д. Серверная сторона Direction методы в конечном итоге Вывод тоже, но обычно маршрутизатор записывается, который обрабатывает вызов метода и форматирование вывода. Ext.ajax гораздо проще справиться с тем, что это требует практически не требует настроек, кроме страницы на другом конце, которая обрабатывает запрос AJAX, в то время как прямое требует некоторых задних классов для обработки маршрутизации, экспозиции API и т. Д. Есть плагины Для различных рамх (Kohana, Codeignitor, вероятно, WordPress и т. Д.) И катится свой собственный, не может быть сложным. Для справедливости примера ext.ajax:

// Server-side - code of /ajax.php
echo(json_encode(array(
    'DATA' => array(
        array('id' => 3, 'name' => 'john'), 
        array('id' => 4, 'name' => 'Jill')
     )
));

// Client-side
var store = Ext.create('Ext.data.Store', {
    fields: ['id', 'name'], // You should really use a model
    proxy: {
        type: 'ajax',
        url: '/ajax.php',
        reader: {
            type: 'json',
            root: 'DATA'
        }
    }
});
.

Я надеюсь, что это дает вам некоторую перспективу, но на самом деле вы должны понимать, как каждый работает и примените решение, которое лучше для вас и вашей ситуации. Чтение страниц EXT API для обоих - это хорошее место для начала, и страница образцов и демонстрация демонстрирует примеры для обоих.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top