0
我正在開發一個簡單的MEAN堆棧應用程序。我採用了棱角分明的路由重定向到基於項目的ID的頁面點擊是這樣的:nodeJS中無法獲取/錯誤
when('/story/:id', {
template: '<news-detail></news-detail>'
})
當一個項目被點擊的時候,應該去這樣的頁面:http://localhost:3002/story/58fbcf765865db1d8da94b41
,但對頁面我收到「Can not GET/story/58fbcf765865db1d8da94b41」節點錯誤。
從後端我已經試過這樣:
app.get('/story/:id', function(req, res){
if(req){
var id = req.params.id;
PostProfile.News.findById(id, function(err, item){
if(item){
console.log("found")
res.send(item)
}
})
}
})
這種解決方案只是顯示在頁面上一些生JSON
{"_id":"58fbc2834f675c1cdb7dc628","title": .....
什麼是走一圈,這和我如何使用的角度來先通過id創建請求,而不經過nodejs。
非常感謝。
這是一個網絡服務器(表達我assumng)的錯誤,而不是一個節點的錯誤。也可能出現節點錯誤,但是您的代碼不會輸出錯誤,或者您沒有找到要查看的位置(stderr,stdout或日誌)。首先,我會在你的回調中處理錯誤:'if(err){console.error(err))'在你的findById中。另外,「if(req)」感覺非常多餘。如果您在快速路由方法中沒有req對象,那麼您確實有些奇怪的事情發生了...... – ippi
第1步,檢查您的網絡選項卡並檢查呼叫以嘗試找出它有多遠(您有一個服務器響應,所以繼續!)。步驟2:檢查服務器端是否收到呼叫,日誌,輸出。第3步:沒有錯誤?確保你的代碼以某種方式輸出錯誤。第4步:當你有真正的錯誤檢查與SO,但你可以大概找出其餘的! :)你真正的問題在於找到真正的錯誤信息。 – ippi
只是爲了理清最後幾位。 'when('/ story /:id',{'這是一個角度路線,它假定'[webroot]/story /:id'。你的後端可能與你的webroot不一樣。是的,這當然是可能的配置express或nginx或其他方法來捕捉/ story /並確保後端得到它,但它通常不是這種情況。正常情況是清楚地分離正面和背面(例如'/ api/story /: id'或另一個端口'localhost:4004/story /:id'。) – ippi