2017-05-14 70 views
0

我的問題是相當痛苦的。獲取返回304或無法獲取刷新頁面

我作了妥善處理錯誤:無法加入這個我server.js

app.get('*', function (req, res) { 
    res.sendFile(__dirname + '/app/index.html'); 
}); 

但現在當我去到一個網頁,我有這樣得到的功能/後得到刷新網頁/ PAGE_NAME 。它返回304 ...

如果我刪除app.get('*'...,我不能刷新沒有得到空白頁'無法獲得/ page_name,但如果我去它手動開始在索引,我的GET和POST的工作完美。

304的回報是普通的HTML時,它應該是JSON ...

我可以爲使任何頁面上的刷新,而不會損壞我的電話給服務器做什麼?

我DEP

"express": "4.15.2", 
"morgan": "~1.0.0", 
"mongoose": "4.9.8", 
"body-parser": "1.17.1" 

回答

1

app.get('*', function (req, res) { res.sendFile(__dirname + '/app/index.html'); });會抓住你所有的要求(這是*目的)

所以,如果你打算讓這種行爲可能會在每臺其他的聲明後,這條路線。

關於在普通的HTML您的錯誤頁面:
handle errors與表達,你必須設置 app.use(function (err, req, res, next) { res.status(500).json({error:'some message'}) })

爲了理解爲什麼/路由不匹配,你可以這樣做app.use(function (req, res, next) { console.log(req.route); }) 看什麼出錯

+0

這是我在建設中的網站。你可以看到我的菜單「Ajouter artist」。 https://m-p-adrien-hascour.c9users.io/ – Chim

+0

是的,你的問題在於你對index.html文件的任何請求(嘗試m-p-adrien-hascour.c9users.io/api/avbzzzs)。你必須刪除'*'或將'app.get('*',''放在最後位置(路由器和/ api /之後) –

+0

另外,如果你打算爲index.html提供其他頁面,你可以看看http://expressjs.com/fr/starter/static-files.html –