2017-12-17 9 views
1

일부 경로를 변경 한 후 자바 스크립트에서 끝점을 치는 데 문제가 있습니다. 나는 두 개의 컨트롤러를 가지고 있으며, URL에 전달 된 변수 만있는 컨트롤러에서 끝점을 맞추려고합니다.컨트롤러에 HttpGet 요청과 함께 빈 MVC 경로 사용

RouteConfig.cs 파일 :

 routes.MapRoute(
      name: "Home Page", 
      url: "", 
      defaults: new { controller = "HomePage", action = "Home" } 
     ); 

     routes.MapRoute(
      name: "Example Page", 
      url: "{exampleId}", 
      defaults: new { controller = "ExamplePage", action = "Index"} 
     ); 

HomePageController은 mysite.com에 의해 타격을받을 것입니다.

ExamplePageController는 exampleId 값을 기반으로 페이지를 생성하는 mysite.com/value에 의해 검색됩니다.

내가 지금해야 할 일은 내 ExamplePageController에서 엔드 포인트를 공격하는 것입니다

[HttpGet] 
    public ActionResult myEndpoint(string exampleId) { 
     var result = _exampleProvider.exampleFunction(exampleId); 

     return result; 
    } 

그래서 URL이 내가 자바 스크립트에서이 엔드 포인트를 칠 것 인 경우에 대한처럼 무엇을 볼 것인가? 여기에 몇 가지 내가 시도되는 :

www.mysite.com/ExamplePage/myEndpoint?exampleId=value

에게

www.mysite.com/myEndpoint?exampleId=value

을 상위 URL은 하나입니다 내가 사용 하긴하지만 라우트에 대한 RouteConfig의 URL 값을 변경하면 엔드 포인트가 적중 될 수 없게됩니다.

여기에 아이디어가 있습니까? 감사합니다.

+0

브라우저에서 시도 할 때'mysite.com/value'가 작동하면 javascript에서도 호출해야합니다. – Shyju

+0

Mysite.com/value는 주 컨트롤러 메서드이지만 HttpGet 요청을 통해 해당 컨트롤러에서 다른 메서드를 실행하려고합니다. –

답변

0

URL을 "{exampleId}/{action}"으로 지정해야하며 홈 페이지가 경로 목록의 맨 아래에 있어야합니다.

URL에 동작 매개 변수는 자바 스크립트에서 타격 할 때 그래서 모양을, www.mysite.com/value/myEndpoint?exampleId=value

함수 이름입니다 나는 결코 방법을 허용하지 않았다

이름은 경로의 매개 변수가됩니다.

해당 컨트롤러에 대한 다른 자바 스크립트 호출이있을 경우 홈 페이지 경로에도 URL 경로에 action 매개 변수가 있어야합니다. "{action}"