2016-01-25 31 views
0

在我下面角的應用程序是我得到的錯誤,當我嘗試在本地開發登錄器(Chrome):的XMLHttpRequest無法加載迴應預檢要求未通過訪問控制檢查

XMLHttpRequest cannot load https://www.tickertags.com/app/api/login. 
Response to preflight request doesn't pass access control check: 
The 'Access-Control-Allow-Origin' header has a value 'http://localhost:8100' 
that is not equal to the supplied origin. 
Origin 'http://localhost' is therefore not allowed access. 

登錄從我的LoginController

function login(credentials) { 
    console.log('credentials',credentials); 
    AuthFactory.login(credentials).then(function (user) { 
     $rootScope.$broadcast(AUTH_EVENTS.loginSuccess); 
     $scope.setCurrentUser(user); 

     if (user.password_reset) { 
      $location.path('/password'); 
     } else { 
      $location.path('/tickers'); 
     } 
    }, function() { 
     console.log('"Invalid Username/Password"'); 
     $scope.loginData.message = "Invalid Username/Password"; 
     $rootScope.$broadcast(AUTH_EVENTS.loginFailed); 
    }, function() { 
     console.log('"Invalid Username/Password"'); 
     $scope.loginData.message = "Invalid Username/Password"; 
     $rootScope.$broadcast(AUTH_EVENTS.loginFailed); 
    }); 
} 

AuthFactory.login功能功能打即生產託管的API。我不確定我錯過了什麼?這是我的本地主機鏈接看起來像http://localhost/static/manage/v2/#/login

+0

看看本頁右側的所有***相關問題***。他們每個人都是同一個話題。問題出現在這裏每天無數次,並不難研究 – charlietfl

+0

是的,我已經經歷了其中5個到目前爲止,沒有我覺得回答我的問題:(我看到有更多,現在經歷他們 –

+0

沒有您與我們分享的代碼會設置原始標題,所以我們無法分辨爲什麼它將Access-Control-Allow-Origin設置爲「http:// localhost:8100」,而不是「http:// localhost」, – Quentin

回答

0

希望這可以幫助別人誰遇到了這個問題,並且無法訪問服務器端的任何東西。

我想通了我的問題,我試圖打我的API調用登錄的絕對路徑,即:www.tickertags.com/api/...而不是隻修復它的/api/...

-2

要超過CORS問題,您必須配置前端和後端。

對於前端,當你調用初始化,您可以配置默認的HTTP頭myApp.run()方法:

$http.defaults.useXDomain = true; 
delete $http.defaults.headers.common['X-Requested-With']; 

因爲你將需要修改請求頭後端部分。我不知道你的後端是什麼,但我通常在我的本地節點服務器上使用它們。

app.use(function (req, res, next) { 
    res.header('Access-Control-Allow-Origin', 'http://localhost:3000'); 
    res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE'); 
    res.header('Access-Control-Allow-Headers', 'Content-Type'); 
    next(); 
}); 
相關問題