Я разрабатываю веб-систему с использованием html, jquery и node js server. В настоящее время я звоню ajax, как показано ниже.
$.ajax({
type: 'post',
url: serverLocation + "/api/dashboard/createUser",
dataType: 'json',
data: JSON.stringify(reqJson),
contentType: "application/json; charset=UTF-8",
success: function (response) {
console.info(response);
showAlertBox(response.message, response.status);
},
error: function (textStatus, errorThrown) {
console.info('Err');
showAlertBox("Somthing went wrong", false);
}
});
вы можете видеть, что я использовал переменную serverLocation в атрибуте url. Честно говоря, я определяю serverLocation в приведенном выше файле js как константу, и я делал это во всех файлах js. (Я знаю, что это плохая практика программирования).
const serverLocation = "http://127.0.0.1:9173";
Итак, когда мы собираемся развернуть производственный сервер, как определить это расположение сервера в одном месте и использовать его во всех файлах js?
Другой вопрос: раскрытие такой информации о сервере на стороне клиента затронет безопасность. В таком случае как этого избежать?
вы можете определить его в каком-то классе (класс consts) и импортировать этот класс в свой код или использовать строку uniq, которая будет заменена во время сборки задачей (gulp, bower и т. д.), поскольку для безопасности вы можете скрыть свое реальное местоположение сервера за CDN, но каждый URL-адрес www.something.com переведен на IP-адрес, и чтобы весь Интернет работал, он должен быть на виду

Абсолютно не нужна переменная типа serverlocation, которая определяет доменное имя или что-то еще.
Вам просто нужно указать URL-адрес как /api/dashboard/createUser, он будет динамически получать доменное имя или IP-адрес и будет искать маршрут /api/dashboard/createUser в соответствии с методом http.
Если вы хотите перейти по ссылке, которая добавляется к текущему URL-адресу,
Если ваш текущий URL-адрес http://www.example.com/present/abc
И вы хотите, чтобы действие было в http://www.example.com/present/abc/actionpage
Затем используйте
<?php $_SERVER['PHP_SELF']?> в месте разделения
Или, если вам снова нужно имя хоста, используйте
$_SERVER['SERVER_NAME'] вместо сервера
Я использую 2 сервера для веб-проекта (Html + Jquery) и js-сервер узла.
$_ SERVER[] позаботится об этом
Я использую node js, и вы уверены, что я могу использовать приведенный выше код?
Это код php, используйте его в файле html с тегами php .... не используйте в файле js сервера node.js
Первый:
Если ваш клиентский (JS, HTML и CSS) код и код сервера находятся в одном домене, вам не нужно указывать точное местоположение сервера. Если это не так, вы должны указать полный путь к серверу для выполнения вызова ajax.
Второй: Даже если вам удастся скрыть ссылку на сервер, вы можете получить ссылки из инструментов разработчика браузера. Не беспокойтесь о URL-адресах, хранящихся в JS. Серверы предназначены для обеспечения безопасности.
да .. это мой вопрос. расположение в Интернете и расположение конечных точек сервера - это 2 сервера. В таком случае мы должны определить конечную точку, не так ли?
назовем это относительно с
url: '/api/dashboard/createUser'. УдалитеserverLocation