2014-11-22 4 views
1

하나의 js 파일에 대해 내부 서버 오류 500이 발생하고 파일 경로를 변경하면 정상적으로 작동합니다. 여기 내 인덱스 파일의 코드 조각입니다 :특정 파일 경로에서만 브라우저로드 오류 - 내부 서버 오류 500


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

'users.client.module.js'로드되지 않는이와 '내부 서버 오류'를 제공하고 크롬의 네트워크 탭은 '텍스트로 보여줍니다/html '형식입니다. 다른 파일 'authentication.client.service.js'가 정상적으로로드됩니다. 다른 js 파일도 있습니다. 모두로드가 잘됩니다.

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 

을하지만 내가 파일을 넣을 때 : 1529

이 네트워크 탭을 보여줍니다 무엇인가 -

GET /users/users.client.module.js 500 6.716 밀리 다음은 서버 오류입니다 'users.client.module.js'하위 폴더 'services'에 잘로드됩니다. 다음은 그 예입니다.

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

위의 내용은 문제가 없습니다. 브라우저가 첫 번째 경우에 파일을로드하지 않는 이유에 대해 혼란 스럽습니다. 나는 사파리뿐만 아니라 크롬에서 그것을 시도했다. 어떤 도움을 주시면 감사하겠습니다. 여기

정적 자원

module.exports = 함수() { VAR 앱 = 익스프레스 서버 측 경로()를 도시 express.js 파일의 코드;

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; 

}};

+2

서버 측 문제라고 생각하지 않지만 서버 구성과 관련된 내용은 표시하지 않습니까? – raina77ow

+0

자, 로그에서 우리는 서버가 NodeJS Express 프레임 워크에 의해 구동된다는 것을 알았습니다. 서버 측 라우팅 코드를 보여줌으로써 실제로 질문에 대답 할 수있는 기회를 주시겠습니까? – raina77ow

+0

도움이된다면. 흥미롭게도 직원 폴더와 같은 다른 이름으로 사용자 폴더의 이름을 변경하면 파일이 잘로드됩니다. example : src = "/ staff/users.client.module.js" –

답변

1

아마도 users.server.routes.js에 "/ users/someparameter"경로가 있기 때문에 상황이 발생합니다. 따라서 js 파일을 요청할 때 경로를 통과하려고 시도합니다. 아마도 "someparameter"는 ID이므로 users.client.module.js를 요청할 때 파일 이름이 ID가 아니므로 the 매개 변수를 구문 분석하지 못합니다.

경로를 업데이트하거나 "users"폴더의 이름을 바꿔야합니다.

+0

예, 그게 전부입니다. 대답 해줘서 고마워. –