Относительный путь в AJAX не работает для API - PullRequest
0 голосов
/ 06 июня 2019

У меня есть сервер с API и веб-сайт (клиент API)

Это работает без каких-либо проблем, когда я знаю IP сервера и записываю IP в XMLHTTPrequest:

var url = "http://192.168.0.14/api"

Поскольку мой IP не является статическим, я хочу код, который работает с любым IP, поэтому я сделал

`var url =" http://localhost/api" (сервер также обслуживает веб-сайт)

Но когда я это делаю, мне не удается загрузить ресурс: net :: ERR_CONNECTION_REFUSED

В ответе сервера допускается CORS.

Есть идеи, почему это произошло? Спасибо

1 Ответ

1 голос
/ 06 июня 2019

Поскольку localhost не разрешается на IP 192.168.0.14, а HTTP-сервер не прослушивает любой IP localhost , на который разрешается (который, вероятно, будет 127.0.0.1 или ::1 ).

Имейте в виду, что localhost означает "компьютер, на котором работает браузер". Это не относится к серверу HTML-документ, в котором работает JS. http://localhost/ - это абсолютный URL, а не относительный путь.

Относительный путь будет выглядеть примерно так: api, а абсолютный путь будет /api (это будет относительно корня сервера, на котором размещен документ HTML).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...