Как вы храните URL-адреса запроса в Javascript, чтобы удовлетворить принцип DRY? - PullRequest
2 голосов
/ 28 сентября 2008

Существуют ли какие-либо часто используемые шаблоны в Javascript для хранения URL-адресов конечных точек, которые будут запрашиваться в приложении AJAX?

Например, вы бы создали класс "Service" для абстрагирования URL-адресов?

Ответы [ 4 ]

1 голос
/ 29 сентября 2008

Вы можете создать коллекцию ValuePairs, в которой вы будете хранить каждое значение URL и идентификатор:

function ControlValuePair(Id, Value)
{   
    this.Id = Id;
    this.Value = Value;
}

function CreateCollection(ClassName)    
{
    var obj=new Array();
    eval("var t=new "+ClassName+"()");
    for(_item in t)
        {
            eval("obj."+_item+"=t."+_item);
        }
    return obj;
}

function ValuePairsCollection()
{
    this.Container="";
    this.Add=function(obj)
    {
        this.push(obj);
    }
}

Позже вы можете перебрать коллекцию или посмотреть идентификатор.

0 голосов
/ 07 октября 2008

Я использовал что-то вроде этого (используется в Rails):

NAMESPACE.categories.baseUri = '/categories';
NAMESPACE.categories.getUri = function(options)
{
  options = options || {};
  var uri = [NAMESPACE.categories.baseUri];

  if(options.id)
  {
    uri.push(options.id); 
  }
  if(options.action)
  {
    uri.push(options.action);
  }
  if(options.format)
  {
    uri.push('?format=' + options.format);
  }

  return uri.join('/');
}
0 голосов
/ 28 сентября 2008

Где вы храните ваши глобалы, это вопрос личного выбора. Лучше размещать их внутри объекта, чтобы избежать конфликтов в глобальном пространстве имен, поэтому да, глобальный объект с именем Service будет хорошим местом для хранения URL-адресов и других строк, которые используются в нескольких местах.

0 голосов
/ 28 сентября 2008

Ваш вопрос похож на этот уже отвеченный вопрос ? Если да, то относится ли ответ и к вашему коду?

...