AngularJS CORS-Probleme

Ich habe über 200 Websites durchsucht (vielleicht übertrieben, aber nicht viel), wie man mit cors mit anglejs umgehen kann. Wir haben einen lokalen Computer, auf dem ein Web-API-Server ausgeführt wird. Wir entwickeln einen Client, der die API für Daten aufruft. Wenn der Client vom Server ausgeführt wird, erhalten wir keine Probleme mit den Daten. Wenn wir es von einer anderen Domäne ausführen, erhalten wir eine rote Antwort 200, wenn wir versuchen, Daten abzurufen, und eine leere Antwort. Hier ist ein Code:

var myApp = angular.module('Project', ['ngResource']);

myApp.config(function($routeProvider){
    $routeProvider.
        when('/new', {templateUrl:'templates/new.html', controller:'EditProjectController'}).
        when('/mobile', {templateUrl:'templates/mobile.html', controller:'ProjectController'}).
        when('/it', {templateUrl:'templates/it.html', controller:'ProjectController'}).
        when('/writing', {templateUrl:'templates/writing.html', controller:'ProjectController'}).
        when('/all', { templateUrl: 'templates/all.html' }).
        when('/login', { templateUrl: 'partials/_login.html' }).
        otherwise({ redirectTo: '/all' });
});
myApp.config(['$httpProvider', function ($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}
]);



myApp.controller('ProjectController', 
function myApp($scope, $http, projectDataService, userLoginService) {
    $http.defaults.useXDomain = true;
    $scope.loadProject = function(){
        projectDataService.getProject(function(project){
            $scope.project = project;
            })


    };
    $scope.loadProject();
}

);

myApp.factory('projectDataService', function ($resource, $q) {
var resource = $resource('http://webapiserver/api/:id', { id: '@id' });
return {
    getProject: function () {
        var deferred = $q.defer();
        resource.query({ id: 'project' },
            function (project) {
                deferred.resolve(project);
            },
            function (response) {
                deferred.reject(response);
            });

        return deferred.promise;
    },
    save: function (project) {
        var deferred = $q.defer();
        project.id = 'project/9';
        resource.save(project,
            function (response) { deferred.resolve(response); },
            function (response) { deferred.reject(response); }
            );
        return deferred.promise;
    }
};
});

Ich habe dies auch mit $ http versucht, erhalte aber die gleiche Antwort (oder das Fehlen derselben):

myApp.factory("projectDataService", function ($http) {

return {
    getProject: function (successcb) {
        $http.get("http://webapiserver/api/project").
        success(function (data, status, headers, config) {
            successcb(data);
        }).
        error(function (data, status, headers, config) {

    }
};
});

Wenn ich nur zu der URL navigiere, die den JSON im Browser bereitstellt, werden die Daten ausgespuckt. Auf dem Server erlauben wir domänenübergreifende Herkunft, was aus meiner vorherigen Aussage hervorgeht. Wie Sie sehen, implementiere ich die Header-Overrides in myApp.config. Ich habe sogar versucht, sie direkt in meinen Controller zu integrieren. Kein Unterschied.

3 Tage jetzt auf diese Aufgabe.

Hilfe dabei ist MEHR als geschätzt. Danke im Voraus.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage