我做了生物醫學的網站的node.js和我遇到的一個問題靜態ressources錯誤404: 在我app.js(服務器文件),我有這些代碼蒙山上的GET請求參數
app.get('/disease/:orphanetID', function(req, res) {
var orphanetID=req.params.orphanetID;
res.render('pages/disease.ejs', {activetitle: "views"});
});
的問題是,在disease.ejs所需的所有靜態ressources得到一個錯誤404
例如,對於這個代碼disease.ejs:
<script src="static/js/DOMscripts.js"></script>
在Chrome CONSO嘞,我看到:
(red cross) GET http://localhost:8080/disease/static/js/DOMscripts.js
的事情是,我的靜態的ressource爲http://localhost:8080/static/js/DOMscripts.js,但只是在出現......這不是好網址URL字符串「病」!
和測試一些東西之後,我想通了,此代碼工作:
app.get('/disease', function(req, res) {
//var orphanetID=req.params.orphanetID;
res.render('pages/disease.ejs', {activetitle: "views"});
});
所以,如果我沒有任何參數,它的工作,但我需要它。
有關信息,我對代碼的靜態ressources是:
app.use('/static', express.static(__dirname + '/public'));
我應該怎麼做纔能有一個參數?
將頁面相對URL用於靜態資源通常是一個問題,因爲它告訴瀏覽器在向服務器請求頁面URL之前將頁面URL的路徑添加到靜態資源URL,這很少是您想要的。設置你的靜態資源,使它們都以'/'開頭。 – jfriend00