gpt4 book ai didi

node.js 是什么导致错误 400 错误请求

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:11 35 4
gpt4 key购买 nike

我正在向我的 node.js 网络应用程序添加一些代码。我添加了这个功能,然后它抛出一个错误 400。我通过按 Ctrl-Z 将其删除,但它仍然抛出错误 400。然后,我做了一个 test.js 这是最简单的 express 实现,它仍然是收到错误 400。这是我的 test.js 代码:

const app = require("express")();
const http = require("http").createServer(app);
const url = require('url');

app.get("/", function(req, res)
{
res.sendFile(__dirname + "/test.html");
});

http.listen(3001, function()
{
console.log("--listening on port 3001");
});

我已检查以确保输入正确的 URL 和正确的端口。我认为某些东西已被缓存并搞砸了,因为如果我清除缓存或使用 curl 它会起作用。有什么想法吗?

最佳答案

使用 process.cwd() 而不是导致错误并生成 404 的 __dirname。process.cwd() 将返回初始化 Node 的目录。它返回您启动 node.js 进程的绝对路径。

const app = require("express")();
const http = require("http").createServer(app);
const url = require('url');
const path = require('path');

app.get("/", function(req, res)
{
// res.sendFile(__dirname + "/test.html");
res.sendFile(process.cwd() + "/test.html");
});

http.listen(3001, function()
{
console.log("--listening on port 3001");
});

或者你也可以解析__dirname的路径

const app = require("express")();
const http = require("http").createServer(app);
const url = require('url');
const path = require('path');

app.get("/", function(req, res)
{
__dirname=path.resolve();
res.sendFile(__dirname + "/test.html");

});

http.listen(3001, function()
{
console.log("--listening on port 3001");
});

关于node.js 是什么导致错误 400 错误请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58253375/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com