我正在尝试根据所选的下拉列表值使用网址进行ajax调用。
到目前为止,我有类似的内容:
$('#select').change(function() {
$.ajax({
url:'@{action($(this).val())}',
success:function(report){
alert('success');
},
fail:function(error){
alert('error:'+error);
}
}
});
模板不会编译并抱怨网址行。
我的问题是我不知道如何将从jquery返回的值转换为要路由的参数。
答案 0 :(得分:1)
我对playframework不太了解,但我知道jQuery ajax。所以这是一个解决方案,可能会帮助您解决问题。在jQuery Ajax方法中,我们可以通过POST或GET方法发送数据。为此,我们必须在ajax选项中设置type选项。要发送数据,我们必须在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);
}
});
});
答案 1 :(得分: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);
}
}