Отправляю с локального компьютера с помощью axios.js GET запрос на localhost:3000 - где располагается rails-приложение, отдающее JSON - и получаю ошибку Network Error.
Если открыть напрямую в браузере - все работает, JSON отдается. Думал, причина в localhost - загрузил на Heroku - вижу тот же результат. Но если отправить GET, например, на сервер API stackoverflow - то все окей.
Что я могу делать не так?
AXIOS:
axios.get('http://localhost:3000/')
.then(function (response) {
ap.answer = _.capitalize(response.data.answer)
ap.img = _.capitalize(response.data.image)
})
.catch(function (error) {
ap.answer = 'Ошибка! Не могу связаться с API. ' + error
})
RAILS:
result = {answer: name, image: image}
respond_to do |format|
format.html {render json: result, content_type: "application/json", status: 200}
end
Дело было в заголовках. Нужно прописать следующее в
application_controller.rb:
after_action :set_access_control_headers
def set_access_control_headers
headers['Access-Control-Allow-Origin'] = '*'
headers['Access-Control-Request-Method'] = '*'
end
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
При создании приложения сделал сервис для получения и обработки данных:
Приветствую, использую express для backend