Показать сообщение отдельно
  #8 (permalink)  
Старый 21.04.2013, 18:51
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

Как в JavaDoc такое оформить?

/*
Свойства обьекта options:
dataType 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' тип возвращаемых данных
enctype аналогично одноименному атрибуту form
done function(response) { ... } функция-обработчик, которая вызывается при успешном выполнении запроса
fail function(code, text) { ... } функция-обработчик, которая вызывается при возвращении сервером ошибки
beforeSend function(request) { ... } функция обработчик, которая вызывается до отправления данных, единственным принимаемым аргументом является объект XMLHttpRequest 
*/
ajax = new (function(){
    this.exec = function(method, url, data, options) {
        options = options || {};
        var req = new XMLHttpRequest;       
        
        if (options.done || options.fail) {
            req.onreadystatechange = function() {
                if (req.readyState == 4) {
                    if (req.status >= 200 && req.status < 300) {
                        if (options.done) {
                            options.done(req.response); 
                        }

                        return; 
                    }

                    if (options.fail) {
                        options.fail(req.status, req.statusText); 
                    }
                }
            } 
        }

        req.open(method, url);        
        req.responseType = options.dataType || 'text';
        
        if (options.enctype) {
            req.setRequestHeader('Content-Type', options.enctype);
        }

        if (options.beforeSend) {
            options.beforeSend(req);
        }
        
        req.send(data);
     };

    this.get = function(url, options) {
        this.exec('GET', url, null, options);
    };

    this.post = function(url, data, options) {        
        (options = options || {}).enctype = options.enctype === undefined ? 'application/x-www-form-urlencoded' : options.enctype;
        
        if (options.enctype.toLowerCase() == 'application/x-www-form-urlencoded') {
            data = querystring.stringify(data);
        }

        this.exec('POST', url, data, options);
    }
})();

Последний раз редактировалось qwerty-клавиатура, 21.04.2013 в 22:22.
Ответить с цитированием