0

ドロップダウンで選択した値に基づいて URL を使用して ajax 呼び出しを実行しようとしています。

これまでのところ、次のようなものがあります。

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

テンプレートはコンパイルされず、url 行について不平を言います。

私の問題は、jquery から返された値をルーティングされるパラメーターに変換する方法がわからないことです。

4

2 に答える 2

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);         
    }
  });
});  
于 2013-02-20T06:01:55.400 に答える
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);         
        }
    }
于 2013-02-20T05:58:21.070 に答える