Ola, tudo bem?
Criei 2 aplicações. Um projeto em angularJS e outro projeto separado em nodeJS para ser consumido igual o conteúdo deste curso. O problema é que quando o projeto em angular tenta consumir um endpoint do projeto node API REST da o seguinte erro no console:
XMLHttpRequest cannot load http://localhost:3000/students/listAll. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. studentsController.js:14 Retorno: null
Segue o código do controller do projeto angular:
angular.module('socialLibrary').controller('studentsController', function($scope, $http){
$scope.message = 'Lista de alunos';
var urlBackEnd = "http://localhost:3000";
var students = [];
$http.get(urlBackEnd+'/students/listAll')
.success(function(data){
console.log("Retorno: " + data);
$scope.students = data;
})
.error(function(error){
console.log("Retorno: " + error);
});
});
Quando acesso a rota da aplicação node API REST, é apresentado no navegador o array de objetos json corretamente. Segue o código do controller do projeto node:
module.exports = function(app) {
app.get('/students/listAll', function(req, res){
console.log("--> entrando na rota de lista geral de estudantes.");
//*** Estabelecando conexao
var connection = app.models.connectionFactory();
var studentDao = new app.models.StudentsDao(connection);
studentDao.listAll(function(error, results){
if(error){
console.log("--> Deu erro aqui: " + error);
res.status(500).send(error);
return;
}else{
res.json(results);
}
});
});
}
Devo separar os projetos como estou fazendo ou deixá-los no mesmo projeto? O que é mais indicado?