Проблема доступа к REST API с устройств в одной сети - PullRequest
0 голосов
/ 14 марта 2019

У меня на компьютере запущен REST API и запрос на отправку веб-приложения vuejs.Когда я пробую приложение в localhost, нашел отлично.Я могу получить доступ к дому ('/') и использовать веб-приложение, оно отправляет другие запросы через API ('/ что-то')

Но мне нужно попробовать приложение со своего мобильного телефона, поэтому я подключаю обав той же сети и доступ к localhost с IP.

Я могу получить доступ к дому (IP: порт), и приложение отвечает с моего мобильного телефона.Я также могу получить доступ к другим конечным точкам (IP: порт / что-то).Обычно только приложение использует конечные точки API.(Бесполезный для пользователя прямой доступ)

Проблема в том, что я на домашней странице со своего мобильного телефона, но при запуске веб-приложение отправляет запрос конечной точке.Но сервер отвечает 0 на статус: (

Я пробую с другим ПК и так же ... когда я пробую свое приложение с других устройств, приложение не может использовать мой API.

Связь с домом: (server.js (API))

MyRouter.route('/')
.all(function(req, res){
    res.render('home.ejs');
});

Запрос отправляется, когда пользователь получает доступ к дому (при монтировании Vue): (app.js (Приложение))

mounted () {
   this.$http.get(this.website + '/connexion' ).then(response => {
      //succes (I need to get some infos from API)
   }, response => {
      //error
   }

Конечная точка: (server.js)

MyRouter.route('/connexion')
.get(function(req,res){ 
    res.json({foo: "bar"}); //some infos
})

С локального хоста я могу получить информацию о json, но с другого устройства я могу получить доступ к домашней страницено запрос к конечной точке возвращает статус запроса = 0. Когда я пытаюсь получить доступ непосредственно к конечной точке, она обнаружена! Но мне все равно нужно на домашней странице ...

Ответы [ 2 ]

0 голосов
/ 14 марта 2019

Хорошо, я нахожу проблему ... xD С другого устройства я получаю доступ к веб-приложению с IP-адреса сервера, но переменная 'this.website', используемая в запросах, всегда была "localhost"! Поэтому я заменил это на текущий URL ...

0 голосов
/ 14 марта 2019

Некоторые из ситуаций, которые производят этот код состояния:

Незаконный запрос перекрестного происхождения (см. CORS)

Брандмауэр блокирует или фильтрует

Сам запрос был отменен в коде

Держу пари, что это проблема с CORS или брандмауэром.

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