以下是使用Angular Service的非常简单的CORS Get调用。
var url = 'http://customerRestService.com/api/customer/';
app.service("CustomerService", ['$http', '$q', '$rootScope', function ($http, $q,
$rootScope) {
getCustomers: function (p, h) {
return $http.get(url + '?pageNumber=' + p + '&howMany=' + h, { headers: { blahblan:
'bhagirath' } });
}
};
}]);
我的休息服务在web.config中有CORS配置,这是标准的,如下所示
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type,
Accept, X-Custom-Header, blahblan" />
<add name="Access-Control-Allow-Methods" value="POST, GET, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
</system.webServer>
使用IE10完全正常。但不适用于Chrome和Firefox。网络选项卡显示浏览器(Chrome / FF)发出OPTIONS请求,但IE直接发出GET请求。
这个Angular或浏览器是否出错了。我已经浏览了Stackoverflow上的几乎所有帖子以获得解决方案,但没有成功。
你能帮我解决一下吗?这将是一个巨大的帮助。