自從我從切換到數據庫URL 在內存中的Web-API URL,角應用程序的JavaScript控制檯,給了我一個404錯誤當從不同的本地主機端口 - CORS問題使用GET API時,localhost上的角度獲取404?
JavaScript console output 404 error
我有我使用本地主機精簡版的服務器上運行的應用程序的角度:3035/
我有一個MongoDB的/的NodeJS /快遞在本地主機上運行的數據庫:3039/
我的角度應用是 「GET」 -ing就好使用內存的Web-API URL 'API/loggerData'
有什麼想法?它是CORS嗎?還有別的嗎?我是否還需要在棱角邊配置lite-server?
這裏是我的角度代碼:
private loggerUrl = 'localhost:3039/read/getall/';
getLoggerData(): Promise <Dataset[]> {
return this.http.get(this.loggerUrl)
.toPromise()
.then(response => response.json().data as Dataset[])
.catch(this.handleError);
}
此外,我已經試過落實在數據庫方面的一些CORS解決方案這並沒有影響任何東西 -
這裏的一些的數據庫代碼我修改:
var app = express();
app.use(function (req, res, next) {
//Website you wish to allow to connect
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3035');
// Request methods you wish to allow
res.setHeader('Access-Control-Allow-Methods',
'GET, POST, OPTIONS, PUT, PATCH, DELETE');
// Request headers you wish to allow
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
// Set to true if you need the website to include cookies in the requests sent
// to the API (e.g. in case you use sessions)
res.setHeader('Access-Control-Allow-Credentials', true);
// Pass to next layer of middleware
next();
});
它應該是'私人loggerUrl =的 'http://本地主機:3039 /讀/ GETALL /';' – echonax
如果@echonax解決方案不工作,那麼我敢打賭它的一個CORS問題。你將不得不配置你的數據庫服務器來接受CORS請求。 – victor
@echonax - 謝謝你的建議 - 我已經試過了,你看到的是我嘗試輸入網址的很多方法之一,但它很好地知道包括'http://'是正確的方法。事實證明,AJT_82的答案解決了它 - 這是我在研究這個問題時還沒有看到任何人談論的內存中web-api的問題。再次感謝 – Jake