2013-02-20 2 views
0

드롭 다운의 선택된 값을 기반으로 URL로 ajax 호출을 작성하려고합니다. URL에 라인에 대한 컴파일되지 않습니다selectd 옵션에서 playframework 컨트롤러로 값을 전달하는 방법

$('#select').change(function() { 
    $.ajax({ 
     url:'@{action($(this).val())}', 
     success:function(report){ 
      alert('success'); 
     }, 
     fail:function(error){ 
      alert('error:'+error);   
     } 
    } 
    }); 

템플릿 및 complaun :

지금까지 내가 좋아하는 뭔가가있다.

내 문제는 jquery에서 반환 된 값을 라우팅 할 매개 변수로 변환하는 방법을 모른다는 것입니다.

답변

0

알아보기 jsRoute를 사용하여 해결했습니다.

$('#select').change(function() { 
    var route = #{jsRoute @action(':field') /} 
    $.ajax({ 
     url: route.url({field: $('#select').val()}), 
     type: route.method, 
     success:function(report){ 
      alert('success'); 
     }, 
     fail:function(error){ 
      alert('error:'+error);   
     } 
    } 
1

저는 playframework에 대해 많이 모릅니다.하지만 jQuery ajax에 대해 알고 있습니다. 그래서 여기에 해결책이 있습니다. 문제 해결에 도움이 될 수 있습니다. jQuery Ajax 메서드에서는 POST 또는 GET 메서드를 사용하여 데이터를 보낼 수 있습니다. 이를 위해 우리는 ajax 옵션에 type 옵션을 설정해야합니다. 데이터를 보내려면 url에 게시하려는 모든 데이터를 포함하는 ajax 옵션에서 데이터 매개 변수를 설정해야합니다.

$('#select').change(function() { 

var params = {myvar:$("#select :selected").val()}; 

$.ajax({ 
    type: "POST",  
    url:'path to controller', 
    data: params, 
    success:function(report){ 
     alert('success'); 
    }, 
    fail:function(error){ 
     alert('error:'+error);   
    } 
    }); 
}); 
관련 문제