Отправляю с локального компьютера с помощью 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
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости