我在下面收到以下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;
}