Как в 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);
}
})();