使用Angular%http服务的Access-Control-Allow-Origin问题

时间:2014-07-31 18:11:52

标签: angularjs xmlhttprequest

我在下面收到以下Angular $ http错误:

XMLHttpRequest无法加载http://localhost:14985/api/init?space=rz64698&environment=rz64698&clConfig=C:\Rz\rz64698\master\bin\cl_config.xml。请求的资源上不存在“Access-Control-Allow-Origin”标头。

这个单独的.Net API项目在端口14985上的IIS中运行。我的ASP.NET MVC / Angular项目在localhost端口49479上运行。所以我需要了解如何处理跨源调用。

我想知道如何在我的请求中包含Access-Control-Allow-Origin标头。在此期间我会继续调查,并会尽快发布我的发现。

这是我的datacontext.js中的函数:

 function initRz() {
        domain = "localhost:"
        port = "14985";
        controllerpath = "/api/init";
        space = "rz64698";
        env = "rz64698";
        clconfig = "C:\\Rz\\rz64698\\master\\bin\\cl_config.xml";
        var url = "http://" + domain + port + controllerpath + "?space=" + space + "&environment=" + env + "&clConfig=" + clconfig;
        var deferred = $q.defer();
        var retval = [];
        $http.defaults.headers.get = { 'Access-Control-Allow-Origin': true };
        $http({
            method: 'GET',
            encoding: 'JSONP',
             headers: {
                'Access-Control-Allow-Origin': 'true' // THIS ALSO WORKS
            },                 
            withCredentials: true,
            url: url
        }).success(function (data, status, headers, config) {
            retval = data;
            deferred.resolve(retval);
        });
        return deferred.promise;
    }

0 个答案:

没有答案