【发布时间】:2015-03-02 07:32:40
【问题描述】:
我收到错误:“Access-Control-Allow-Origin”标头包含多个值“*、*”,但只允许一个值。当我从我的申请。
这不是 webapi 服务调用的问题,因为当我跟踪来自 fiddler 的调用时,我得到了 Result with 200 。但是即使在我得到 200 结果之后,来自 $http.post 的调用也会引发错误。我不知道为什么。它适用于 IE,但不适用于 Chrome 或 Firefox。
在 chrome 和 Firefox 中抛出我:XMLHttpRequest 无法加载 **url。 “Access-Control-Allow-Origin”标头包含多个值“*、*”,但只允许一个。 Origin url 因此不允许访问。**
请建议我需要在 Chrome 和 Firefox 中更改哪些设置来运行符文。
$http.post(serviceBase + 'token', data, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).success(function (response) {
if (loginData.useRefreshTokens) {
localStorageService.set('authorizationData', { token: response.access_token, userName: loginData.userName, refreshToken: response.refresh_token, useRefreshTokens: true });
}
else {
localStorageService.set('authorizationData', { token: response.access_token, userName: loginData.userName, refreshToken: "", useRefreshTokens: false });
}
_authentication.isAuth = true;
_authentication.userName = loginData.userName;
_authentication.useRefreshTokens = loginData.useRefreshTokens;
deferred.resolve(response);
}).error(function (err, status) {
_logOut();
deferred.reject(err);
});
【问题讨论】:
-
从服务器端,将标头设置为
*而不是*,* -
感谢您的评论,但我可以知道怎么做吗?
-
我投票结束这个问题,因为它已经 6 年了,这是一个服务器端问题,我怀疑这些细节是否会在这个问题中提供。