Я пытаюсь получить некоторые данные из JSON через Angular, но получение этой ошибки
XMLHttpRequest не может загрузить http://localhost: 3000/movies.json. В запрошенном ресурсе нет заголовка "Access-Control-Allow-Origin". Происхождение " http://blabla.herokuapp.com ", следовательно, не допускается.
Но у меня есть эта конфигурация, и есть правильный хост:
var app = angular.module('Test', ['restangular'])
.config(function (RestangularProvider) {
RestangularProvider.setBaseUrl("http://blabla.herokuapp.com");
RestangularProvider.setRequestSuffix('.json');
RestangularProvider.setDefaultHttpFields({xsrfCookieName:'csrftoken', xsrfHeaderName:'X-CSRFToken'});
});
На локальном компьютере это работает отлично (если я, конечно, заменю setBaseUrl)
Проблема была в активах (файлы js). Нужно делать rake assets:precompile
перед развертыванием на герою или включить rake/assets/* в gitignore
.
RestangularProvider.setBaseUrl("http://blabla.herokuapp.com");
линия вообще? Если вы используете приложение Angular с тем же приложением Rails, которое предоставляет JSON, оно вам наверняка не понадобится. Обслуживание с использованием относительных URL-адресов не позволит вам получить ошибки «Access-Control-Allow-Origin».XMLHttpRequest cannot load http://localhost:3000/movies.json
. Может, heroku не поддерживает запросы API?