2016-07-12 1 views
0

У меня есть приложение Angular JS, в котором задний конец встроен в .NET. Чтобы получить данные, я вызываю открытые методы контроллера API из проекта .NET.Получение адреса веб-сервера динамически с использованием JS

При вызове методов контроллера мне нужно добавить «http://localhost:port» при запуске пути метода контроллера. Так что мой полный URL-то вроде:

http://localhost:port/api/controller/method

Это кажется очевидным для меня. Однако при переносе этого приложения в более высокие среды мне нужно вручную заменить эту строку IP-адресами сервера окружения. SO тот же URL на PROD становится:

http://PROD-IP:port/api/controller/method

Хотя это тоже имеет смысл, мои запросы, как показано ниже:

  1. В случае, если не локальный пункт на сервер автоматически. Я имею в виду, что если я развертываю свое приложение на 127.0.0.1 в каждой среде, то localhost: порт должен работать нормально в каждом случае, и мне не нужно заменять IP для каждой среды. (Это мое мнение, и этот подход в настоящее время не работает)

  2. Есть ли способ в JS для получения IP-адреса с текущего URL-адреса. Таким образом, пользователь вводит URL-адрес приложения в начале и позже для всего обратного вызова, я получаю URL-адрес сервера. Я пробовал document.location, но он не работал должным образом.

Я пробовал искать решения на разных блогах, но, вероятно, я не мог создавать правильные слова и не получил никакого релевантного решения.

+0

'document.location.origin' должен работать, если ваше приложение обслуживается одним и тем же сервером, который обеспечивает апи –

+0

Thanx: Это обеспечивает требуемое Помогите –

ответ

0

У JavaScript нет понятия имен хостов или IP-адресов. Вам нужно будет использовать внешнюю службу для разрешения IP-адреса из имени хоста. Вы можете получить доменное имя с помощью location.hostname, а затем использовать некоторые внешние веб-сервисы для поиска своих IP