节点菜鸟在这里。 :)我正在使用代码
发出Ajax请求var path = "/path/to/file.html";
$.get(path, function(data) {
$("#post").html(data);
});
在服务器端,用
回复app.use(express.directory(__dirname + '/public'));
app.get('/path/*', function(req, res) {
var is_ajax_request = req.xhr;
if(is_ajax_request)
res.sendfile(req.path);
else
res.sendfile('public/index.html');
});
实际文件位于public/path/to/file.html
。出于某种原因,Ajax给了我错误
GET http://localhost:3000/path/to/file.html 404 (Not Found)
即使路径肯定是正确的。实际上,如果我删除整个app.get
函数,它会发现文件没问题。还有另一种方法我应该响应Ajax请求吗?
答案 0 :(得分:1)
我认为你这里有路径混乱。
在执行console.log
之前,您是否尝试sendFile
路径?这应该很快就会证实这不仅仅是那么简单。
您似乎需要使用res.sendfile('public/' + req.path)
。
答案 1 :(得分:0)