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

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

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

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
1 669
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

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

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

Вы можете создать коллекцию 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);
    }
}

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

Ответ принят как подходящий

Я использовал что-то вроде этого (используется в 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('/');
}

Другие вопросы по теме