2013-06-12 3 views
0

AngularJS 인터페이스에서 내 JavaScript 경로를 통해 내 Application.java 컨트롤러로 데이터를 게시하려고합니다.Play Framework jsRoutes POST에서 500 오류 표시

나는 응용 프로그램/컨트롤러 내 javascriptRoutes()/Application.java를 만들었습니다

POST /sheet/duplicate/ controllers.Application.duplicateSheet() 
GET /assets/javascripts/routes controllers.Application.javascriptRoutes() 

# Map static resources from the /public folder to the /assets URL path 
GET  /assets/*file    controllers.Assets.at(path="/public", file) 
: 그것은 자산/공공 경로 앞에 오는 있도록 내 경로를 설정 한

public static Result javascriptRoutes() { 
    response().setContentType("text/javascript"); 
    return ok(
     Routes.javascriptRouter("jsRoutes", 
      controllers.routes.javascript.Application.duplicateSheet() 
     ) 
    ); 
} 

그리고 내 JS 컨트롤러에 내 duplicateSheet 전화를 시도하고있어() 함수 :

jsRoutes.controllers.Application.duplicateSheet().ajax({ 
     data: { 
      newSheet: newSheet, 
       includeData: includeData 
     } 
}); 

내가하려고 duplicateSheet를 실행() 나는 콘솔에 다음과 같은 오류 얻을 :

POST http://localhost:9000/sheet/duplicate/ 500 (Internal Server Error) 

이 내 jsRoutes 작동하는지 저를 말하고, 그러나 '/ 시트// 중복'경로가 존재하지 않는? 길에 대해 놓친 다른 것이 있습니까?

+1

AFAIK, 즉 duplicateSheet 액션이 실행되었지만 오류가 있음을 의미합니다. 로그 파일이나 콘솔에있는 것이 있습니까? –

답변

0

재생 로그/application.log (Play 응용 프로그램 프로세스를 실행하는 터미널 창에서도 동일한 출력이 표시됨)를 확인한 후 duplicateSheet()에 게시 한 JSON 문자열의 형식이 잘못되었음을 발견했습니다 자바 오류가 발생합니다.

로그에있는 문제를 해결 한 후 응용 프로그램을 올바르게 게시 할 수있었습니다.