2016-02-08 173 views
2

我在AWS-Windows上遇到了MEAN堆棧應用程序的問題。所以,我已經爲節點服務器放置了一個3000端口進行偵聽,並且IIS默認使用端口80。阻止跨源請求 - NodeJs

然後,當我啓動節點服務器來偵聽並激發應用程序時,我想通過Node獲取一些Angular數據。我想這一點:

$http.get('http://localhost:3000/get_data').success(function(response) { // something with response }); 

此重現錯誤在我的控制檯:

enter image description here

這對我來說是一個攔截器,我會很感激,如果有人可以點我的權利辦法。

我也有興趣知道爲什麼會發生這種情況,爲什麼我得到的端口不同,然後默認(80)的CORS?

感謝

+0

谷歌的錯誤....這無數次出現在這裏一天有答案可沒有結束 – charlietfl

回答

1

有一個叫cors一個很好的node.js包。你可以在以下方式

var cors = require('cors') 
app.options('/get_data', cors()); 
app.route('/get_data').get(cors(), doOperation()); 
+0

我會嘗試這種方法,讓你知道。 – Wolf87

1

您可以啓用使用CORS模塊節點側跨起源請求使用這個庫。 瞭解更多關於模塊和文件的位置:Enable cors

var cors = require('cors'); 
app.use(cors()); 
+0

我試過,沒有運氣,它保持不變。 – Wolf87

+0

你把'app.use(cors())'放在所有api之前了嗎? –

+0

我開始'app = Express();'然後'app.use(cors());'。 我也有興趣知道爲什麼會發生這種情況,爲什麼我要用不同的端口獲得CORS? – Wolf87

相關問題