[英]How can I pass parameter from scala.html to javascript in play framework?
[英]Pass Play Framework parameter to javascript
我正在尝试将来自我的控制器的参数传递给javascript脚本,以便我可以编辑数据。 但是javascript不接受我的参数。
这是代码:
@for(status <- lista){
<tr>
<td>@status.getDescricao()</td>
<td><a href="javascript:;" onclick="enviar('formAltStatus/@status.getCodStatus()')"><img src="@routes.Assets.at("img/edit.png")" alt="" title="Editar"/></a>
<a href="@routes.StatusController.removerStatus(status.getCodStatus())"><img src="@routes.Assets.at("img/erase.png")" alt="" title="Remover"/></a>
</td>
</tr>
}
@ status.getCodStatus()是我的ID。
路线:
GET /formAltStatus/:id controllers.StatusController.formAltStatus(id:Long)
javascript:
function enviar(a){
$.ajax({
url: "/"+a,
type: "GET",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
dataType: "html",
async:true,
success: function(html){
$("#nova").html("");
$("#nova").html(html);
$("#logo").show();
}
});
}
还有另一种方法吗?
HTML5数据属性是针对这种情况设计的,您必须将服务器端数据传递给客户端功能。 我认为最佳实践解决方案是向锚标记添加数据属性,然后在Javascript中检索属性值。
<a ... data-status="@status.getCodStatus" data-param2="@param2">
然后,此代码说明了Javascript的外观。 我没有太多的Javascript专业知识,所以我编写了一个使用JQuery的解决方案。 如果您不使用JQuery并且只使用纯Javascript,则必须修改我的建议。
HTML:
<!-- Simple illustration of how to pass server-side data to a JS function -->
<a href="no-javascript.html" class="edit-link" data-status="@status.getCodStatus" data-param2="@param2">
Hyperlink body goes here
</a>
使用Javascript:
$('.edit-link').click(function(e) {
e.preventDefault();
statusCode = $(this).data('status', 'param2');
alert(statusCode);
});
熟悉的情况。 想要将模板参数设置为角度范围变量。 我传递了模型对象的Json版本并使用ng-init进行设置。
服务器端
return ok(views.html.database.admin.chargeGroups.render(Json.toJson(commodity)));
前端
@(commodity: com.fasterxml.jackson.databind.JsonNode)
@main("Charge Groups") {
<div ng-controller="ChargeGroupsController" ng-init="commodity = @commodity">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.