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 选项中设置类型选项。要发送数据,我们必须在 ajax 选项中设置 data 参数,其中包含我们要发布到 url 的所有数据。

$('#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 回答