我正在开发一个将安装在Tomcat上下文中的Play 1.2.5应用程序:
http://mytomcat:8080/myapp
在我的路线文件中,我有:
GET /companies/{companyID}/employees Employees.getForCompany
根据在Tomcat上下文中部署Play应用程序的说明,我使用反向路由器生成URL。这工作正常,但我不知道在jQuery方法的情况下该怎么做,例如这种样式的Ajax请求:
var companyID = $('#companies').find(":selected").val();
$.ajax({
url : "@{Employees.getForCompany(companyID)}",
...
});
显然,在生成HTML和反向路由器解析路由时,不知道companyID的值。
我能看到的唯一解决方案是重新配置我的routes
文件,以便URL不同,参数总是在最后,但这会使REST URL不那么合理。
GET /companies/employees/{companyID} Employees.getForCompany
有更好的方法吗?
答案 0 :(得分:0)
我自己找到了解决方案 - Play包含jsAction
标记,该标记生成构建正确网址的函数:
var companyURL = #{jsAction @Employees.getForCompany(':companyID') /}
$.ajax({
url : companyURL({companyID:companyID}),
...
});
就像我可以保持首选路线映射:
GET /companies/{companyID}/employees Employees.getForCompany