2016-08-22 4 views
0

Play 프레임 워크의 Javascript Routing을 사용할 때 애플리케이션에 이상한 문제가 있습니다. 이 문제입니다 :Javascript 재생 중 프레임 워크가 작동하지 않습니다.

Screenshot

이 내 코드입니다 :

GET /javascriptRoutes controllers.Application.javascriptRoutes 
    GET /Process/All  controllers.ProcessController.retrieveAllProcess 

이이 html.scala 파일은 다음과 같습니다 :

class Application extends Controller { 

     import play.api.mvc._ 
     import play.api.routing._ 

     def javascriptRoutes = Action { implicit request => 
     Ok(
      JavaScriptReverseRouter("jsRoutes")(routes.javascript.ProcessController.retrieveAllProcess) 
     ).as("text/javascript") 
     } 
    } 

이 루이 경로 파일입니다

var option = 
     { "url" : @routes.javascript.ProcessController.retrieveAllProcess, 
     ... 
     } 

정말 고마워. :).

답변

1

자바 스크립트 라우팅과 역방향 라우팅을 혼동스럽게 생각한다고 생각합니다.

자바 스크립트 라우팅

자바 스크립트 라우팅은 자바 스크립트 코드를 생성하기위한 것입니다. 생성 된 코드는 자바 스크립트에서 클라이언트 측에서 URL을 생성하는 데 사용할 수있는 함수를 정의합니다. 당신이 생성 된 코드를 반환 액션을 정의한 이후,이 스크립트를 사용해야 URL HTML 페이지를 알려 역 라우팅을 사용하는

<script type="text/javascript" src="@routes.Application.retrieveAllProcess()"></script> 

주를 사용하여 페이지에 포함 할 수있다. :)

이 그런 다음 자바 스크립트 코드는 Application::retrieveAllProcess 방법으로 HTTP 동사 및 URL을 모두 포함하는 자바 스크립트 객체를 생성 할 수 있도록

var retrieveAllProcessRoute = jsRoutes.controllers.Application.retrieveAllProcess() 

처럼 사용할 수 있습니다.

역방향 라우팅

역방향 라우팅은 스칼라 코드를 생성하는 데 사용됩니다. 이 코드는보기에서 URL을 생성하거나 서버 측의 컨트롤러 메소드에 Redirects을 생성하기위한 것입니다.

템플릿 (*.html.scala)에 대해 이야기하고 있으므로 서버 측에 대해 이야기하고 있습니다. 즉, Play의 역방향 라우팅 기능을 사용해야합니다. 아래에서는 역방향 라우팅을 사용하도록 자바 스크립트 템플릿 스 니펫을 다시 작성했습니다.

var option = { 
    "url": @routes.Application.retrieveAllProcess, 
    ... 
} 
관련 문제