浏览器加载错误仅具有特定文件路径 - 内部服务器错误 500

browser load error only with certain file path - internal server error 500

本文关键字:错误 路径 内部 服务器 文件 加载 浏览器      更新时间:2023-09-26

我只收到一个js文件的内部服务器错误500,当我更改文件的路径时,它工作正常。 这是我索引文件中的代码片段:


<script type="text/javascript" src="/users/users.client.module.js"></script>
<script type="text/javascript" src="/users/services/authentication.client.service.js"></script>

"users.client.module.js"不会加载并给出"内部服务器错误",Chrome 中的"网络"标签页将其显示为"text/html"类型。 另一个文件"authentication.client.service.js"加载正常。还有其他js文件,它们都可以正常加载。这是服务器错误:

GET/users

/users.client.module.js 500 6.716 ms - 1529

这是"网络"选项卡显示的内容:

Remote Address:127.0.0.1:3000
Request URL:`http://`127.0.0.1:3000`/users/users.client.module.js`
Request Method:GET
Status Code:500 Internal Server Error
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Host:localhost:3000
Referer:http://localhost:3000/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko)       Chrome/38.0.2125.122 Safari/537.36
Response Headersview source
Connection:keep-alive
Content-Length:1529
Content-Type:text/html; charset=utf-8
Date:Sat, 22 Nov 2014 20:02:07 GMT
X-Content-Type-Options:nosniff
X-Powered-By:Express
ConsoleSearchEmulationRendering

但是,当我将文件"users.client.module.js"放在子文件夹"服务"中时,它加载正常。 下面是示例:

<script type="text/javascript" src="/users/services/users.client.module.js"></script>
<script type="text/javascript" src="/users/services/authentication.client.service.js"></script>

以上工作正常。 我很困惑为什么浏览器在第一种情况下不加载文件。我已经在chrome和safari中尝试过。 任何帮助将不胜感激。

下面是 express.js 文件中的代码,该文件显示了静态资源的服务器端路由

module.exports = function() { var app = express();

app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(bodyParser.json());
app.use(methodOverride());
app.use(session({
    saveUninitialized: true,
    resave: true,
    secret: config.sessionSecret
}));
// setting views/views engine
app.set('views', './app/views');
app.set('view engine', 'ejs');
app.use(flash());
app.use(passport.initialize());
app.use(passport.session());
// routes
require('../app/routes/index.server.routes.js')(app);
require('../app/routes/users.server.routes.js')(app);
// serving static file
app.use(express.static('./public'));
return app;

};

这种情况正在发生,因为我敢打赌你可能在 users.server.routes.js 中有一个"/users/someparameter"路由。因此,当您请求该js文件时,它会尝试通过该路由。可能"someparameter"是一个ID,所以当请求users.client.module.js时,它无法解析参数,因为文件名不是id。

您需要更新路由或重命名"用户"文件夹。