#node.js #vuejs2
#node.js #vuejs2
Вопрос:
На моем компьютере запущен REST API, и веб-приложение vuejs отправляет запрос. Когда я пробую приложение на localhost, оно отлично найдено. Я могу получить доступ к home (‘/’) и с помощью веб-приложения отправлять другие запросы в API (‘/ something’)
Но мне нужно попробовать приложение со своего мобильного, поэтому я подключаюсь к одной сети и получаю доступ к localhost с IP.
Я могу получить доступ к домашнему (IP: порт), и приложение отвечает с моего мобильного. Я также могу получить доступ к другим конечным точкам (IP: порт / что-то еще). Обычно только приложение использует конечные точки API. (Пользователю бесполезно обращаться напрямую)
Проблема в том, что я захожу на домашнюю страницу со своего мобильного, но при запуске веб-приложение отправляет запрос на конечную точку. Но сервер отвечает 0 на статус: (
Я пробую с другого компьютера и то же самое… когда я пробую свое приложение с других устройств, приложение не может использовать мой API.
Связь с домом: (server.js (API))
MyRouter.route('/')
.all(function(req, res){
res.render('home.ejs');
});
Запрос, отправленный при доступе пользователя к home (при смонтированном 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. Когда я пытаюсь получить доступ непосредственно к конечной точке, он найден! Но мне нужно все еще на домашней странице…
Комментарии:
1. Когда вы загружаете веб-страницу, отправляются ли запросы с веб-страницы на localhost?
2. Да, я печатаю это. веб-страница ‘ это относится к localhost
Ответ №1:
Некоторые ситуации, которые приводят к этому коду состояния:
Незаконный запрос из разных источников (см. CORS)
Блокировка брандмауэром или фильтрация
Сам запрос был отменен в коде
Я бы поспорил, что это проблема CORS или брандмауэра.
Комментарии:
1. Используемое соединение — это соединение моего телефона, я посмотрю на него
Ответ №2:
Хорошо, я нахожу проблему … xD С другого устройства я получаю доступ к веб-приложению с IP-адреса сервера, но переменная ‘this.веб-сайт’, используемый в запросах, всегда был «localhost»! Поэтому я заменил это на текущий URL…