1

ここでノードnoob。:) コードで 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 HTMLおよびRender basic HTML view?も参照できます。

于 2013-04-22T07:40:37.900 に答える