Nie „Kontrola dostępu - Zezwalaj na pochodzenie” - Problem z węzłem / portem Apache
Stworzyłem mały interfejs API za pomocą Node / Express i próbuję pobrać dane za pomocą Angularjs, ale ponieważ moja strona HTML działa pod apache na localhost: 8888 i API węzła jest nasłuchiwane na porcie 3000, otrzymuję No-Access-Control- Zezwalaj na pochodzenie. Próbowałem użyć node-http-proxy i Vhosts Apache, ale nie miałem wiele sukcesów, zobacz pełny błąd i kod poniżej.
„XMLHttpRequest nie może załadować localhost: 3000. W żądanym zasobie nie ma nagłówka„ Access-Control-Allow-Origin ”. Dlatego„ localhost: 8888 ”nie ma dostępu”.
// Api Using Node/Express
var express = require('express');
var app = express();
var contractors = [
{
"id": "1",
"name": "Joe Blogg",
"Weeks": 3,
"Photo": "1.png"
}
];
app.use(express.bodyParser());
app.get('/', function(req, res) {
res.json(contractors);
});
app.listen(process.env.PORT || 3000);
console.log('Server is running on Port 3000')
// Angular code
angular.module('contractorsApp', [])
.controller('ContractorsCtrl', function($scope, $http,$routeParams) {
$http.get('localhost:3000').success(function(data) {
$scope.contractors = data;
})
// HTML
<body ng-app="contractorsApp">
<div ng-controller="ContractorsCtrl">
<ul>
<li ng-repeat="person in contractors">{{person.name}}</li>
</ul>
</div>
</body>