Kein 'Zugriffskontrolle-Erlaube-Ursprung' - Knoten / Apache Port Problem

Ich habe eine kleine API mit Node / Express erstellt und versucht, Daten mit Angularjs abzurufen, aber da meine HTML-Seite unter Apache auf localhost ausgeführt wird: 8888 und die Node-API lauschen auf Port 3000, erhalte ich die Nr. Allow-Origin '. Ich habe versucht, Node-http-Proxy und Vhosts Apache zu verwenden, habe aber nicht viel Erfolg, siehe vollständigen Fehler und Code unten.

"XMLHttpRequest kann localhost: 3000 nicht laden. In der angeforderten Ressource ist kein Header" Access-Control-Allow-Origin "vorhanden. Origin" localhost: 8888 "ist daher für den Zugriff nicht zulässig."

// 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>

Antworten auf die Frage(11)

Ihre Antwort auf die Frage