1

节点菜鸟在这里。:) 我正在使用代码发出 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 请求吗?

4

2 回答 2

1

我认为你在这里有路径混乱。

console.log在做之前尝试过路径sendFile吗?这应该很快证实它不仅仅是那么简单。

看起来你需要使用res.sendfile('public/' + req.path).

于 2013-04-22T07:58:46.170 回答
0

尝试这个:

 res.sendfile(__dirname + '/public/index.html');

您还可以参考Render raw HTMLRender basic HTML view?

于 2013-04-22T07:40:37.900 回答