2017-09-06 48 views
0

我是新來的後端編程人員,並且在使用GET請求獲取用於以用戶身份登錄時檢索數據的問題。節點JS相同的請求在本地主機上工作,但在aws ec2服務器上不工作

我在本地主機服務器上獲得狀態碼爲200的數據,但是相同的GET請求不會從aws EC2上的服務器返回數據。

我一直在尋找一個解決方案,但它似乎像我缺少一些重要信息,我不能包裹我的頭。

localhost dev server ec2 aws server

router.get('/', function (req, res) { 
    if (req.session.userId) { 
     return res.sendFile(path.join(__dirname + '/../public/index.html')) 
    } 
    return res.sendFile(path.join(__dirname + '/../public/login.html')) 
}) 

router.get('/data', function (req, res) { 
    User.findById(req.session.userId) 
     .exec(function (error, user) { 
      res.send(user) 
     } 
    ); 
}) 

這只是的演技怪異/數據請求。

+0

在EC2截圖固定它的錯誤是:'遺漏的類型錯誤:無法在'讀undefined'的特性「地圖」 app.js'第41行。你能提供該代碼嗎? – shaochuancs

+0

不用擔心,它是無關的。這是其他前端問題 –

+0

對於ec2服務器,'/ data'響應是'304 Modified'。這很正常 - 「GET/data」請求是在重新驗證之前發送的,服務器說「沒有更改,只使用瀏覽器中的緩存」。你能解釋什麼「沒有得到服務器的迴應」是什麼意思? – shaochuancs

回答

0

第一個

您的mongoDB服務是否正常工作?

/etc/init.d/mongod status 

service mongod status 

你不需要寫:

.exec(function (error, user) 

嘗試:

User.findById(req.session.userId, function (error, user) { 
     if (error) throw error 
     res.send(user) 
    )}; 

只要您準備好查詢,Exec就會被保留。

如果沒有工作了

您的版本也許是不好的。嘗試安裝再次MongoDB中/的NodeJS

+0

mongod正在運行,刪除了exec函數,仍然是同樣的問題:/我認爲它與會話有關,顯然e標籤不會改變在ec2上,但它在本地主機上,這可能有助於304代碼,但我不知道這是否也有助於數據不被髮送:/ –

+0

可能是一個EC2 **安全組**問題,然後 – Mizibi

0

我加入這行我愛可信要求withCredentials: true

相關問題